validated()); $result = $this->authService->attemptLogin($credentials); if ($result->error) { return response()->json([ 'message' => $result->error->message(), ], $result->error->httpStatusCode()); } return response()->json([ 'token' => $result->token, ]); } catch (Throwable $e) { Log::error('AuthController.login: '.$e->getMessage(), [ 'ip' => $request->ip() ]); return response()->json([ 'message' => 'Unavailable' ], Response::HTTP_SERVICE_UNAVAILABLE); } } public function logout(Request $request): JsonResponse { try { $request->user()->tokens()->delete(); return response()->json([ 'message' => 'Logged out' ], Response::HTTP_OK); } catch (Throwable $e) { Log::error('AuthController.logout: '.$e->getMessage(), [ 'ip' => $request->ip() ]); return response()->json([ 'message' => 'Unavailable' ], Response::HTTP_SERVICE_UNAVAILABLE); } } }