88from backend .common .pagination import paging_data , DependsPagination , PageData
99from backend .common .response .response_schema import response_base , ResponseModel , ResponseSchemaModel
1010from backend .database .db import CurrentSession
11- from backend .app .admin .schema .user import CreateUser , GetUserInfo , ResetPassword , UpdateUser , Avatar
11+ from backend .app .admin .schema .user import (
12+ RegisterUserParam ,
13+ GetUserInfoDetail ,
14+ ResetPassword ,
15+ UpdateUserParam ,
16+ AvatarParam ,
17+ )
1218from backend .app .admin .service .user_service import UserService
13- from backend .utils .serializers import select_as_dict
1419
1520router = APIRouter ()
1621
1722
1823@router .post ('/register' , summary = '用户注册' )
19- async def user_register (obj : CreateUser ) -> ResponseModel :
24+ async def user_register (obj : RegisterUserParam ) -> ResponseModel :
2025 await UserService .register (obj = obj )
2126 return response_base .success ()
2227
@@ -30,22 +35,21 @@ async def password_reset(obj: ResetPassword) -> ResponseModel:
3035
3136
3237@router .get ('/{username}' , summary = '查看用户信息' , dependencies = [DependsJwtAuth ])
33- async def get_user (username : str ) -> ResponseSchemaModel [GetUserInfo ]:
34- current_user = await UserService .get_userinfo (username = username )
35- data = GetUserInfo (** select_as_dict (current_user ))
38+ async def get_user (username : str ) -> ResponseSchemaModel [GetUserInfoDetail ]:
39+ data = await UserService .get_userinfo (username = username )
3640 return response_base .success (data = data )
3741
3842
3943@router .put ('/{username}' , summary = '更新用户信息' , dependencies = [DependsJwtAuth ])
40- async def update_userinfo (username : str , obj : UpdateUser ) -> ResponseModel :
44+ async def update_userinfo (username : str , obj : UpdateUserParam ) -> ResponseModel :
4145 count = await UserService .update (username = username , obj = obj )
4246 if count > 0 :
4347 return response_base .success ()
4448 return response_base .fail ()
4549
4650
4751@router .put ('/{username}/avatar' , summary = '更新头像' , dependencies = [DependsJwtAuth ])
48- async def update_avatar (username : str , avatar : Avatar ) -> ResponseModel :
52+ async def update_avatar (username : str , avatar : AvatarParam ) -> ResponseModel :
4953 count = await UserService .update_avatar (username = username , avatar = avatar )
5054 if count > 0 :
5155 return response_base .success ()
@@ -65,7 +69,7 @@ async def get_all_users(
6569 username : Annotated [str | None , Query ()] = None ,
6670 phone : Annotated [str | None , Query ()] = None ,
6771 status : Annotated [int | None , Query ()] = None ,
68- ) -> ResponseSchemaModel [PageData [GetUserInfo ]]:
72+ ) -> ResponseSchemaModel [PageData [GetUserInfoDetail ]]:
6973 user_select = await UserService .get_select (username = username , phone = phone , status = status )
7074 page_data = await paging_data (db , user_select )
7175 return response_base .success (data = page_data )
0 commit comments