sintonia_webapp/app/Http/Controllers/Show/ShowDaysController.php
2025-04-09 10:33:48 +02:00

63 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers\Show;
use App\Filters\Show\ShowFilters;
use App\Http\Controllers\Controller;
use App\Http\Requests\ShowDaysRequest;
use App\Http\Resources\ShowDaysResource;
use App\Models\Show\Show;
use App\Models\Show\ShowDays;
use App\Traits\Show\ShowDaysTrait;
use App\Traits\Show\ShowInstancesTrait;
use Illuminate\Http\ReqshowDaysFlatest;
use Illuminate\Http\Request;
use Log;
class ShowDaysController extends Controller
{
use ShowDaysTrait;
use ShowInstancesTrait;
public function index(Request $request)
{
$queryParams = collect($request->except('flattenShowDays'));
$showDays = (new ShowDays())->searchFilter($queryParams)->get();
if($request->flattenShowDays) $showDays = $this->showDaysFlat($showDays);
return response()->json($showDays);
}
public function store(ShowDaysRequest $request)
{
return new ShowDaysResource(ShowDays::create($request->validated()));
}
public function show(ShowDays $ShowDays)
{
return new ShowDaysResource($ShowDays);
}
public function update(Request $request, $showId)
{
try {
$showDaysRules = $request->all();
$this->updateShowDays($showDaysRules, $showId);
return response()->json([
'status' => 'success',
'message' => 'Show rules saved successfully!'
]);
} catch (\Exception $e) {
Log::error($e->getMessage());
return response()->json(['error' => 'Failed to update show days rules'], 500);
}
}
public function destroy(ShowDays $ShowDays)
{
$ShowDays->delete();
return response()->json();
}
}