per_page) || is_null($filters)) { $pagination = 20; } else { $pagination = $filters->per_page; } return Show::searchFilter($filters)->cursorPaginate($pagination)->toJson(); } /** * @throws \Exception */ public function store(Request $request) { try { $showData = $request->all(); $showDays = $showData['show_days']; $showDJs = $showData['show_djs']; $this->createShow($showData, $showDays, $showDJs); return response()->json([ 'status' => 'success', 'message' => 'Show saved successfully!' ]); } catch (Exception $e) { return response()->json(['message' => $e->getMessage()], 500); } } public function show(ShowResource $show) { return new ShowResource($show); } public function update(ShowRequest $request, Show $show) { $show->update($request->validated()); return new ShowResource($show); } public function destroy(Request $request) { try { $showIds = $request->input('showIds'); Show::destroy($showIds); $responseMessage = 'Shows deleted'; } catch (Exception $e) { return response()->json(['message' => $e->getMessage()], 500); } return response()->json(['message' => $responseMessage]); } public function testSchedule(int $showId) { $show = Show::find($showId); $this->manageShowSchedule($show); } }