mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-07-14 09:01:42 -04:00
59 lines
1.5 KiB
PHP
59 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Modules\StudioPlus\Http\Controllers\API;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Routing\Controller;
|
|
use Illuminate\Contracts\Support\Renderable;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Modules\StudioPlus\Services\UrlLabelsService;
|
|
use Cache;
|
|
|
|
class UrlLabelsController extends Controller
|
|
{
|
|
protected $service;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->service = new UrlLabelsService();
|
|
}
|
|
|
|
public function index(Request $request): JsonResponse
|
|
{
|
|
$labels = Cache::remember('studio_plus_video_labels', 60 * 60, function () use($request){
|
|
return $this->service->getAll();
|
|
});
|
|
|
|
return response()->json([
|
|
'labels' => $labels,
|
|
]);
|
|
}
|
|
|
|
public function store(Request $request): JsonResponse
|
|
{
|
|
$result = $this->service->store($request);
|
|
|
|
Cache::forget('studio_plus_video_labels');
|
|
|
|
return response()->json($result['data'], $result['status']);
|
|
}
|
|
|
|
public function update(Request $request): JsonResponse
|
|
{
|
|
$result = $this->service->update($request);
|
|
|
|
Cache::forget('studio_plus_video_labels');
|
|
|
|
return response()->json($result['data'], $result['status']);
|
|
}
|
|
|
|
public function destroy(Request $request): JsonResponse
|
|
{
|
|
$result = $this->service->destroy($request);
|
|
|
|
Cache::forget('studio_plus_video_labels');
|
|
|
|
return response()->json($result['data'], $result['status']);
|
|
}
|
|
}
|