Coverage for api/v1/endpoints/auth.py: 66.67%

18 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-10-13 18:58 +0000

1""" 

2认证API端点 

3""" 

4 

5from fastapi import APIRouter, Depends, HTTPException, status 

6 

7from core.middleware.auth_middleware import get_current_user 

8from core.models.user import LoginRequest, LoginResponse, User 

9from core.services.auth_service import AuthService 

10 

11router = APIRouter() 

12auth_service = AuthService() 

13 

14 

15@router.post("/login", response_model=LoginResponse) 

16async def login(login_data: LoginRequest): 

17 """用户登录""" 

18 result = auth_service.login(login_data) 

19 if not result: 

20 raise HTTPException( 

21 status_code=status.HTTP_401_UNAUTHORIZED, detail="用户名或密码错误" 

22 ) 

23 return result 

24 

25 

26@router.get("/me") 

27async def get_current_user_info(current_user: User = Depends(get_current_user)): 

28 """获取当前用户信息""" 

29 return current_user 

30 

31 

32@router.post("/logout") 

33async def logout(): 

34 """用户登出""" 

35 return {"message": "登出成功"}