service->getAll(); return $this->successResponse( payload: ClientResource::collection($items), ); } public function store(ClientRequest $request): JsonResponse { $item = $this->service->create($request->validated()); return $this->successResponse( payload: new ClientResource($item), message: __("messages.created"), code: 201, ); } public function show(int $id): JsonResponse { $item = $this->service->findById($id); return $this->successResponse(payload: new ClientResource($item)); } public function update(ClientRequest $request, int $id): JsonResponse { $item = $this->service->update($request->validated(), $id); return $this->successResponse( payload: new ClientResource($item), message: __("messages.updated"), ); } public function destroy(int $id): JsonResponse { $this->service->delete($id); return $this->successResponse( message: __("messages.deleted"), code: 204, ); } public function register(RegisterClientRequest $request): JsonResponse { $result = $this->service->register($request->validated()); if (!$result) { return $this->errorResponse(message: __("auth.failed"), code: 401); } return $this->successResponse( payload: new AuthResource($result["payload"]), message: __("auth.logged_in"), )->withCookie( cookie( "refresh_token", $result["refreshToken"], config("sanctum.rt_expiration") * 60, "/", config("session.domain"), config("session.secure"), true, false, "Lax", ), ); } }