customScheduleService = $customScheduleService; } public function index(): JsonResponse { $customSchedules = $this->customScheduleService->getAll(); return $this->successResponse( CustomScheduleResource::collection($customSchedules), ); } public function store(CustomScheduleRequest $request): JsonResponse { try { $validated = $request->validated(); $customSchedules = $this->customScheduleService->create($validated); $count = count($customSchedules); $message = $count > 1 ? "{$count} oportunidades criadas com sucesso!" : __("messages.created"); return $this->successResponse( payload: CustomScheduleResource::collection($customSchedules), message: $message, code: 201, ); } catch (\Exception $e) { return $this->errorResponse($e->getMessage(), 422); } } public function show(string $id): JsonResponse { $customSchedule = $this->customScheduleService->getById($id); return $this->successResponse( new CustomScheduleResource($customSchedule), ); } public function update(CustomScheduleRequest $request, string $id): JsonResponse { try { $customSchedule = $this->customScheduleService->update($id, $request->validated()); return $this->successResponse( payload: new CustomScheduleResource($customSchedule), message: __("messages.updated"), ); } catch (\Exception $e) { return $this->errorResponse($e->getMessage(), 422); } } public function destroy(string $id): JsonResponse { try { $this->customScheduleService->delete($id); return $this->successResponse( message: __("messages.deleted"), ); } catch (\Exception $e) { return $this->errorResponse($e->getMessage(), 422); } } }