99from backend .app .crud .crud_user import UserDao
1010from backend .app .database .db_mysql import async_db_session
1111from backend .app .models import User
12- from backend .app .schemas .user import CreateUser , ResetPassword , UpdateUser , Avatar
12+ from backend .app .schemas .user import CreateUser , ResetPassword , UpdateUser , Avatar , Auth
1313from backend .app .utils import re_verify
1414
1515
1616class UserService :
1717 @staticmethod
18- async def login (form_data : OAuth2PasswordRequestForm ):
18+ async def swagger_login (form_data : OAuth2PasswordRequestForm ):
1919 async with async_db_session () as db :
2020 current_user = await UserDao .get_user_by_username (db , form_data .username )
2121 if not current_user :
@@ -32,23 +32,23 @@ async def login(form_data: OAuth2PasswordRequestForm):
3232 access_token = jwt .create_access_token (user .id )
3333 return access_token , user
3434
35- # @staticmethod
36- # async def login(obj: Auth):
37- # async with async_db_session() as db:
38- # current_user = await UserDao.get_user_by_username(db, obj.username)
39- # if not current_user:
40- # raise errors.NotFoundError(msg='用户名不存在')
41- # elif not jwt.password_verify(obj.password, current_user.password):
42- # raise errors.AuthorizationError(msg='密码错误')
43- # elif not current_user.is_active:
44- # raise errors.AuthorizationError(msg='该用户已被锁定,无法登录')
45- # # 更新登陆时间
46- # await UserDao.update_user_login_time(db, obj.username)
47- # # 获取最新用户信息
48- # user = await UserDao.get_user_by_id(db, current_user.id)
49- # # 创建token
50- # access_token = jwt.create_access_token(user.id)
51- # return access_token, user
35+ @staticmethod
36+ async def login (obj : Auth ):
37+ async with async_db_session () as db :
38+ current_user = await UserDao .get_user_by_username (db , obj .username )
39+ if not current_user :
40+ raise errors .NotFoundError (msg = '用户名不存在' )
41+ elif not jwt .password_verify (obj .password , current_user .password ):
42+ raise errors .AuthorizationError (msg = '密码错误' )
43+ elif not current_user .is_active :
44+ raise errors .AuthorizationError (msg = '该用户已被锁定,无法登录' )
45+ # 更新登陆时间
46+ await UserDao .update_user_login_time (db , obj .username )
47+ # 获取最新用户信息
48+ user = await UserDao .get_user_by_id (db , current_user .id )
49+ # 创建token
50+ access_token = jwt .create_access_token (user .id )
51+ return access_token , user
5252
5353 @staticmethod
5454 async def register (obj : CreateUser ):
0 commit comments