userService->me(); return $this->successResponse(payload: new UserResource($user)); } public function index(): JsonResponse { $users = $this->userService->all(); return $this->successResponse(payload: new UserCollection($users)); } public function store(UserRequest $request): JsonResponse { $user = $this->userService->store(UserDto::fromRequest($request)); return $this->successResponse(payload: new UserResource($user), message: __('messages.created'), code: 201); } public function update(UserRequest $request, int $id): JsonResponse { $user = $this->userService->update(UserDto::fromRequest($request), $id); return $this->successResponse(payload: new UserResource($user), message: __('messages.updated')); } public function destroy(int $id): JsonResponse { $this->userService->delete($id); return $this->successResponse(message: __('messages.deleted'), code: 204); } public function show(int $id): JsonResponse { $user = $this->userService->find($id); return $this->successResponse(payload: new UserResource($user)); } public function updateLanguage(UserLanguageRequest $request, int $id): JsonResponse { $user = $this->userService->updateLanguage(UserLanguageDto::fromRequest($request), $id); return $this->successResponse(payload: new UserResource($user), message: __('messages.updated')); } }