scheduleService = $scheduleService; } public function index(): JsonResponse { $schedules = $this->scheduleService->getAll(); return $this->successResponse( ScheduleResource::collection($schedules), ); } public function store(ScheduleRequest $request): JsonResponse { try { $schedule = $this->scheduleService->create($request->validated()); return $this->successResponse( payload: new ScheduleResource($schedule), message: __("messages.created"), code: 201, ); } catch (\Exception $e) { return $this->errorResponse($e->getMessage(), 422); } } public function show(string $id): JsonResponse { $schedule = $this->scheduleService->getById($id); return $this->successResponse( new ScheduleResource($schedule), ); } public function update(ScheduleRequest $request, string $id): JsonResponse { try { $schedule = $this->scheduleService->update($id, $request->validated()); return $this->successResponse( payload: new ScheduleResource($schedule), message: __("messages.updated"), ); } catch (\Exception $e) { return $this->errorResponse($e->getMessage(), 422); } } public function destroy(string $id): JsonResponse { $this->scheduleService->delete($id); return $this->successResponse( message: __("messages.deleted"), code: 204, ); } }