63 lines
1.7 KiB
PHP
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();
|
|
}
|
|
}
|