mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-10-08 12:13:01 -04:00
Initial commit
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\StudioPlus\Http\Controllers\API;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Modules\StudioPlus\Entities\StudioPlusVideo;
|
||||
use Modules\StudioPlus\Entities\StudioPlusVideoStatusTrack;
|
||||
use Modules\StudioPlus\Entities\VideoUrl;
|
||||
use Modules\StudioPlus\Http\Requests\StoreVideoUrlRequest;
|
||||
use Modules\StudioPlus\Http\Requests\UpdateVideoUrlRequest;
|
||||
use Modules\WTIJobBoard\Repositories\JobRequestsRepository;
|
||||
use Modules\WTIJobBoard\Repositories\JobRequestShipmentsRepository;
|
||||
|
||||
class VideoUrlsController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$urls = VideoUrl::orderBy('name')->get();
|
||||
|
||||
return response()->json([
|
||||
'urls' => $urls
|
||||
]);
|
||||
}
|
||||
|
||||
public function store(StoreVideoUrlRequest $request)
|
||||
{
|
||||
if ($request->has('video')) {
|
||||
$video_id = $request->video['id'];
|
||||
|
||||
$data = [
|
||||
'video_id' => $video_id,
|
||||
'label' => $request->label,
|
||||
'url' => $request->url,
|
||||
];
|
||||
|
||||
$url = VideoUrl::create($data);
|
||||
$video = StudioPlusVideo::find($video_id);
|
||||
$video->load([
|
||||
'thumbnail',
|
||||
'category',
|
||||
'asinData',
|
||||
'channel.user',
|
||||
'urls',
|
||||
]);
|
||||
|
||||
|
||||
if($video->job){
|
||||
|
||||
$data['id'] = $video->job->id;
|
||||
|
||||
if(!$video->job->is_received){
|
||||
$data['received_at'] = \Carbon\Carbon::now()->format('Y-m-d H:i:s');
|
||||
(new JobRequestShipmentsRepository())->received($data);
|
||||
}
|
||||
|
||||
$data['fulfilled_at'] = \Carbon\Carbon::now()->format('Y-m-d H:i:s');
|
||||
(new JobRequestsRepository())->fulfilled($data);
|
||||
|
||||
}
|
||||
|
||||
$video->update([
|
||||
'status' => StudioPlusVideo::STATUS_PUBLISHED
|
||||
]);
|
||||
|
||||
StudioPlusVideoStatusTrack::create([
|
||||
'studio_plus_video_id' => $video->id,
|
||||
'name' => StudioPlusVideo::STATUS_PUBLISHED
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Video url has been saved.',
|
||||
'url' => $url,
|
||||
'video' => $video,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function update(UpdateVideoUrlRequest $request)
|
||||
{
|
||||
$url = VideoUrl::find($request->id);
|
||||
|
||||
if ($url) {
|
||||
$url->fill($request->all());
|
||||
$url->update();
|
||||
|
||||
$video = $url->video;
|
||||
$video->load([
|
||||
'thumbnail',
|
||||
'category',
|
||||
'asinData',
|
||||
'channel.user',
|
||||
'urls',
|
||||
]);
|
||||
|
||||
if($video->job){
|
||||
|
||||
$data['id'] = $video->job->id;
|
||||
|
||||
if(!$video->job->is_received){
|
||||
$data['received_at'] = \Carbon\Carbon::now()->format('Y-m-d H:i:s');
|
||||
(new JobRequestShipmentsRepository())->received($data);
|
||||
}
|
||||
|
||||
$data['fulfilled_at'] = \Carbon\Carbon::now()->format('Y-m-d H:i:s');
|
||||
(new JobRequestsRepository())->fulfilled($data);
|
||||
|
||||
}
|
||||
|
||||
$video->update([
|
||||
'status' => StudioPlusVideo::STATUS_PUBLISHED
|
||||
]);
|
||||
|
||||
StudioPlusVideoStatusTrack::create([
|
||||
'studio_plus_video_id' => $video->id,
|
||||
'name' => StudioPlusVideo::STATUS_PUBLISHED
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Video url has been udpated.',
|
||||
'url' => $url,
|
||||
'video' => $video,
|
||||
]);
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Video url not found.',
|
||||
], 404);
|
||||
}
|
||||
|
||||
public function destroy(Request $request)
|
||||
{
|
||||
$url = VideoUrl::find($request->id);
|
||||
|
||||
if ($url) {
|
||||
$url->delete();
|
||||
$video = $url->video;
|
||||
$video->load([
|
||||
'thumbnail',
|
||||
'category',
|
||||
'asinData',
|
||||
'channel.user',
|
||||
'urls',
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Video url has been deleted.',
|
||||
'video' => $video,
|
||||
]);
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Video url not found.',
|
||||
], 404);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user