mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-07-14 09:01:42 -04:00
95 lines
2.5 KiB
PHP
95 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace Modules\StudioPlus\Http\Controllers\API;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Routing\Controller;
|
|
use Illuminate\Support\Facades\Storage;
|
|
use Illuminate\Contracts\Support\Renderable;
|
|
use Modules\StudioPlus\Entities\StudioPlusVideo;
|
|
use Modules\StudioPlus\Entities\StudioPlusChannel;
|
|
use Modules\StudioPlus\Services\GoogleCloudPlatform;
|
|
use Modules\StudioPlus\Services\UploadService;
|
|
|
|
class StudioPlusVideoThumbnailController extends Controller
|
|
{
|
|
public function index(Request $request, StudioPlusChannel $studioPlusChannel, StudioPlusVideo $studioPlusVideo)
|
|
{
|
|
return $studioPlusVideo->thumbnails;
|
|
}
|
|
|
|
public function store(Request $request, StudioPlusChannel $studioPlusChannel, StudioPlusVideo $studioPlusVideo)
|
|
{
|
|
$request->validate([
|
|
'thumbnail' => ['required']
|
|
]);
|
|
|
|
(new GoogleCloudPlatform)->handleUploadThumbnail($request, $studioPlusChannel, $studioPlusVideo);
|
|
|
|
return response()->noContent();
|
|
}
|
|
|
|
public function update(Request $request, $id)
|
|
{
|
|
//
|
|
}
|
|
|
|
public function destroy($id)
|
|
{
|
|
//
|
|
}
|
|
|
|
public function uploadThumbnail(Request $request)
|
|
{
|
|
$request->validate([
|
|
'thumbnail' => ['required']
|
|
]);
|
|
|
|
$ret = (new UploadService())->handleUploadThumbnail($request);
|
|
|
|
if ($ret) {
|
|
return response()->json([
|
|
'message' => 'Thumbnail has been updated.',
|
|
'thumbnails' => $ret
|
|
]);
|
|
}
|
|
|
|
return response()->json([
|
|
'message' => 'Failed to update thumbnail.'
|
|
], 400);
|
|
}
|
|
|
|
public function updateThumbnail(Request $request, StudioPlusChannel $studioPlusChannel, StudioPlusVideo $studioPlusVideo)
|
|
{
|
|
$request->validate([
|
|
'thumbnail' => ['required']
|
|
]);
|
|
|
|
$id = $studioPlusVideo->id;
|
|
$file = $request->thumbnail;
|
|
|
|
$thumbnail = (new UploadService())->handleUpdateThumbnail($id, $file);
|
|
|
|
return response()->json([
|
|
'message' => 'Thumbnail has been updated.',
|
|
'thumbnail' => $thumbnail
|
|
]);
|
|
}
|
|
|
|
public function getThumbnails(Request $request, StudioPlusVideo $video)
|
|
{
|
|
if ($video) {
|
|
$thumbnails = $video->thumbnails;
|
|
|
|
return response()->json([
|
|
'message' => 'Success',
|
|
'thumbnails' => $thumbnails
|
|
]);
|
|
}
|
|
|
|
return response()->json([
|
|
'message' => 'Video not found.'
|
|
], 404);
|
|
}
|
|
}
|