sintonia_webapp/app/Http/Controllers/ShowInstance/ShowInstancesController.php
2025-03-19 10:57:39 +01:00

45 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers\ShowInstance;
use App\Filters\Show\ShowInstancesFilters;
use App\Http\Controllers\Controller;
use App\Http\Requests\ShowInstancesRequest;
use App\Http\Resources\ShowInstancesResource;
use App\Models\ShowInstances\ShowInstances;
use Illuminate\Http\Request;
class ShowInstancesController extends Controller
{
public function index(Request $request)
{
$queryParams = collect($request->except('withShow'));
$showInstanceFilter = (new ShowInstances())->searchFilter($queryParams);
if($request->withShow) $showInstanceFilter = $showInstanceFilter->with('show');
return response()->json($showInstanceFilter->get());
}
public function store(ShowInstancesRequest $request)
{
return new ShowInstancesResource(ShowInstances::create($request->validated()));
}
public function show(ShowInstances $showInstances)
{
return new ShowInstancesResource($showInstances);
}
public function update(ShowInstancesRequest $request, ShowInstances $showInstances)
{
$showInstances->update($request->validated());
return new ShowInstancesResource($showInstances);
}
public function destroy(ShowInstances $showInstances)
{
$showInstances->delete();
return response()->json();
}
}