8
8
from backend .common .pagination import paging_data , DependsPagination , PageData
9
9
from backend .common .response .response_schema import response_base , ResponseModel , ResponseSchemaModel
10
10
from 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
+ )
12
18
from backend .app .admin .service .user_service import UserService
13
- from backend .utils .serializers import select_as_dict
14
19
15
20
router = APIRouter ()
16
21
17
22
18
23
@router .post ('/register' , summary = '用户注册' )
19
- async def user_register (obj : CreateUser ) -> ResponseModel :
24
+ async def user_register (obj : RegisterUserParam ) -> ResponseModel :
20
25
await UserService .register (obj = obj )
21
26
return response_base .success ()
22
27
@@ -30,22 +35,21 @@ async def password_reset(obj: ResetPassword) -> ResponseModel:
30
35
31
36
32
37
@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 )
36
40
return response_base .success (data = data )
37
41
38
42
39
43
@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 :
41
45
count = await UserService .update (username = username , obj = obj )
42
46
if count > 0 :
43
47
return response_base .success ()
44
48
return response_base .fail ()
45
49
46
50
47
51
@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 :
49
53
count = await UserService .update_avatar (username = username , avatar = avatar )
50
54
if count > 0 :
51
55
return response_base .success ()
@@ -65,7 +69,7 @@ async def get_all_users(
65
69
username : Annotated [str | None , Query ()] = None ,
66
70
phone : Annotated [str | None , Query ()] = None ,
67
71
status : Annotated [int | None , Query ()] = None ,
68
- ) -> ResponseSchemaModel [PageData [GetUserInfo ]]:
72
+ ) -> ResponseSchemaModel [PageData [GetUserInfoDetail ]]:
69
73
user_select = await UserService .get_select (username = username , phone = phone , status = status )
70
74
page_data = await paging_data (db , user_select )
71
75
return response_base .success (data = page_data )
0 commit comments