mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-01-16 19:05:08 -05:00
137 lines
9.3 KiB
PHP
137 lines
9.3 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Str;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Config;
|
|
use Google\Cloud\Storage\StorageClient;
|
|
use Illuminate\Support\Facades\Route;
|
|
use Illuminate\Support\Facades\Storage;
|
|
use Modules\Staffpayroll\Services\GenerateInvoiceItemForVideos;
|
|
use Modules\StudioPlus\Services\GoogleCloudPlatform;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| API Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here is where you can register API routes for your application. These
|
|
| routes are loaded by the RouteServiceProvider within a group which
|
|
| is assigned the "api" middleware group. Enjoy building your API!
|
|
|
|
|
*/
|
|
|
|
Route::group(['middleware' => 'auth'], function () {
|
|
Route::group(['prefix' => 'videomanager'], function () {
|
|
Route::resource('categories', API\StudioPlusCategoryController::class);
|
|
|
|
Route::get('types', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'getTypes']);
|
|
});
|
|
|
|
Route::group(['prefix' => 'channel/{studioPlusChannel:name}'], function () {
|
|
Route::group(['prefix' => 'videos'], function () {
|
|
Route::get('/', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'index']);
|
|
Route::get('statistics', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'videoStatistics']);
|
|
Route::post('/', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'store']);
|
|
Route::get('{studioPlusVideo}', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'show']);
|
|
Route::put('{studioPlusVideo}', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'update']);
|
|
Route::delete('{studioPlusVideo}', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'destroy']);
|
|
Route::put('{studioPlusVideo}/update-visibility', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'updateVisibility']);
|
|
Route::put('{studioPlusVideo}/update-status', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'updateStatus']);
|
|
Route::get('{studioPlusVideo}/thumbnails', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoThumbnailController::class, 'index']);
|
|
Route::post('{studioPlusVideo}/thumbnails', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoThumbnailController::class, 'store']);
|
|
Route::put('{studioPlusVideo}/update-amazon-url', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'updateAmazonUrl']);
|
|
|
|
Route::post('upload', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'uploadVideo']);
|
|
Route::post('patch/{studioPlusVideo}', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'patchVideo']);
|
|
Route::post('process/{studioPlusVideo}', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'processVideo']);
|
|
Route::post('store/{studioPlusVideo}', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'storeVideo']);
|
|
Route::post('/create-video', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'createVideo']);
|
|
Route::post('/thumbnails/upload', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoThumbnailController::class, 'uploadThumbnail']);
|
|
Route::post('/{studioPlusVideo}/ratings', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'refetchRatings']);
|
|
Route::post('/{studioPlusVideo}/reprocess', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'reprocessVideo']);
|
|
Route::post('/{studioPlusVideo}/process', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'reprocessVideo2']);
|
|
Route::post('/{studioPlusVideo}/thumbnail/update', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoThumbnailController::class, 'updateThumbnail']);
|
|
Route::get('{studioPlusVideo}/get-video', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'getVideo']);
|
|
Route::post('{studioPlusVideo}/save-tags', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'saveTags']);
|
|
});
|
|
});
|
|
|
|
Route::get('/asin/check', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'checkASIN']);
|
|
|
|
Route::post('/videos/reprocess', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'reprocessVideos'])->name('studioplus.videos.reprocess');
|
|
|
|
Route::post('/videos/{studioPlusVideo}/comments', [Modules\StudioPlus\Http\Controllers\API\StudioPlusCommentController::class, 'store']);
|
|
Route::get('/videos/{studioPlusVideo}/comments', [Modules\StudioPlus\Http\Controllers\API\StudioPlusCommentController::class, 'index']);
|
|
Route::put('/comments/{comment}', [Modules\StudioPlus\Http\Controllers\API\StudioPlusCommentController::class, 'update']);
|
|
Route::delete('/comments/{comment}', [Modules\StudioPlus\Http\Controllers\API\StudioPlusCommentController::class, 'destroy']);
|
|
Route::put('/videos/{studioPlusVideo}/comments/{comment}', [Modules\StudioPlus\Http\Controllers\API\StudioPlusCommentController::class, 'update']);
|
|
Route::post('import', [Modules\StudioPlus\Http\Controllers\API\ImportController::class, 'import']);
|
|
Route::get('users', [Modules\StudioPlus\Http\Controllers\API\UserController::class, 'index']);
|
|
Route::get('creator-studio/settings', [Modules\StudioPlus\Http\Controllers\API\CreatorStudioSettingController::class, 'index']);
|
|
Route::post('creator-studio/settings', [Modules\StudioPlus\Http\Controllers\API\CreatorStudioSettingController::class, 'store']);
|
|
Route::put('creator-studio/settings/{globalSetting}/update-default', [Modules\StudioPlus\Http\Controllers\API\CreatorStudioSettingController::class, 'updateIsDefault']);
|
|
Route::post('creator-studio/update-settings', [Modules\StudioPlus\Http\Controllers\API\CreatorStudioSettingController::class, 'update']);
|
|
Route::delete('creator-studio/settings/{globalSetting}', [Modules\StudioPlus\Http\Controllers\API\CreatorStudioSettingController::class, 'destroy']);
|
|
|
|
Route::get('videos/statistics', [Modules\StudioPlus\Http\Controllers\API\StudioPlusVideoController::class, 'statistics']);
|
|
|
|
Route::get('get-asin-data', [Modules\StudioPlus\Http\Controllers\API\AsinController::class, 'getAsinData']);
|
|
|
|
Route::get('settings', [Modules\StudioPlus\Http\Controllers\API\GlobalSettingController::class, 'index']);
|
|
Route::post('settings', [Modules\StudioPlus\Http\Controllers\API\GlobalSettingController::class, 'store']);
|
|
Route::put('settings/{globalSetting}/activate', [Modules\StudioPlus\Http\Controllers\API\GlobalSettingController::class, 'activate']);
|
|
Route::get('settings/active', [Modules\StudioPlus\Http\Controllers\API\GlobalSettingController::class, 'getActive']);
|
|
|
|
Route::get('jobs', [Modules\StudioPlus\Http\Controllers\API\JobController::class, 'index']);
|
|
|
|
Route::get('/columnpresets', [Modules\StudioPlus\Http\Controllers\API\ColumnPresetController::class, 'index']);
|
|
Route::post('/columnpresets', [Modules\StudioPlus\Http\Controllers\API\ColumnPresetController::class, 'store']);
|
|
Route::post('/columnpresets/{id}', [Modules\StudioPlus\Http\Controllers\API\ColumnPresetController::class, 'update']);
|
|
|
|
Route::get('team-leaders', [Modules\StudioPlus\Http\Controllers\API\UserController::class, 'teamLeaders']);
|
|
});
|
|
|
|
Route::get('videos', [Modules\StudioPlus\Http\Controllers\API\VideoController::class, 'index']);
|
|
Route::get('guest/channel/{studioPlusChannel:name}/videos', [Modules\StudioPlus\Http\Controllers\API\ChannelController::class, 'show']);
|
|
|
|
Route::post('studioplus/upload-action', function () {
|
|
return 'Ok';
|
|
});
|
|
|
|
Route::get('test', function () {
|
|
//return (new GenerateInvoiceItemForVideos)->__invoke();
|
|
});
|
|
|
|
|
|
Route::get('testback', function () {
|
|
$storageClient = new StorageClient([
|
|
'keyFile' => json_decode(file_get_contents(module_path('StudioPlus', 'google-cloud-platform.json')), true)
|
|
]);
|
|
|
|
$bucket = $storageClient->bucket('wticreatorhub');
|
|
|
|
$newBuckets = [];
|
|
foreach ($bucket->objects() as $key => $bucket) {
|
|
$newBuckets[] = $bucket->name();
|
|
}
|
|
|
|
return $newBuckets;
|
|
});
|
|
|
|
Route::get('delete-object', function (Request $request) {
|
|
$storageClient = new StorageClient([
|
|
'keyFile' => json_decode(file_get_contents(module_path('StudioPlus', 'google-cloud-platform.json')), true)
|
|
]);
|
|
|
|
$bucket = $storageClient->bucket('wticreatorhub');
|
|
$object = $bucket->object($request->object);
|
|
$object->delete();
|
|
});
|
|
Route::get('/videos-temp/{studioPlusVideo}/comments', [Modules\StudioPlus\Http\Controllers\GuestCommentController::class, 'index']);
|
|
|
|
Route::get('/studio-plus/get-amazon-product-details', 'StudioPlusController@getProductDetails')->name('rainforest.product.details.get');
|
|
|
|
Route::get('users/export', [Modules\StudioPlus\Http\Controllers\API\UserController::class, 'export']);
|
|
|
|
include module_path('StudioPlus', 'Routes/API/watermarks.php');
|
|
include module_path('StudioPlus', 'Routes/API/video.php'); |