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); } }