service = $service; } public function register(RegisterRequest $request): JsonResponse { $this->service->registerCommand($request); if (!$token = $this->attemptLoginAndCreateToken($request)) { return response()->json(['error' => 'Упс! Произошла ошибка при регистрации. Проверьте введенные данные'], Response::HTTP_UNPROCESSABLE_ENTITY); } return response()->json(['token' => $token], Response::HTTP_OK); // $this->login($request->only('email', 'password')); } public function login(LoginRequest $request): JsonResponse { if (!$token = $this->attemptLoginAndCreateToken($request)) { return response()->json(['error' => 'Упс! Произошла ошибка при аутентификации. Проверьте введенные данные'], Response::HTTP_UNAUTHORIZED); } return response()->json(['token' => $token], Response::HTTP_OK); } private function attemptLoginAndCreateToken(RegisterRequest|LoginRequest $request): ?string { if (Auth::attempt($request->only('email', 'password'))) { return $request->user()->createToken('mobile')->plainTextToken; } return null; } // public function logout(Request $request) // { // auth()->user()->tokens()->delete(); // return [ // 'message' => 'Logged out' // ]; // } }