Files
wticreatorstudio/Modules/StudioPlus/Http/Controllers/API/UrlLabelsController.php
T
Leonard Biano 4424eb7082 StudioPlus Module Updates
Fix first load issue with filters and some updates
2024-05-30 10:58:13 +08:00

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