2020router = APIRouter ()
2121
2222
23- @router .get ('/{pk}' , summary = '获取用户信息' , dependencies = [DependsJwtAuth ])
23+ @router .get (
24+ '/{pk}' ,
25+ summary = '获取用户信息' ,
26+ dependencies = [
27+ Depends (RequestPermission ('sys:user:list' )),
28+ DependsRBAC ,
29+ ],
30+ )
2431async def get_userinfo (
2532 db : CurrentSession ,
2633 pk : Annotated [int , Path (description = '用户 ID' )],
@@ -29,7 +36,14 @@ async def get_userinfo(
2936 return response_base .success (data = data )
3037
3138
32- @router .get ('/{pk}/roles' , summary = '获取用户所有角色' , dependencies = [DependsJwtAuth ])
39+ @router .get (
40+ '/{pk}/roles' ,
41+ summary = '获取用户所有角色' ,
42+ dependencies = [
43+ Depends (RequestPermission ('sys:user:list' )),
44+ DependsRBAC ,
45+ ],
46+ )
3347async def get_user_roles (
3448 db : CurrentSession , pk : Annotated [int , Path (description = '用户 ID' )]
3549) -> ResponseSchemaModel [list [GetRoleDetail ]]:
@@ -41,7 +55,8 @@ async def get_user_roles(
4155 '' ,
4256 summary = '分页获取所有用户' ,
4357 dependencies = [
44- DependsJwtAuth ,
58+ Depends (RequestPermission ('sys:user:list' )),
59+ DependsRBAC ,
4560 DependsPagination ,
4661 ],
4762)
@@ -55,7 +70,14 @@ async def get_users_paginated(
5570 return response_base .success (data = page_data )
5671
5772
58- @router .post ('' , summary = '创建用户' , dependencies = [DependsSuperUser ])
73+ @router .post (
74+ '' ,
75+ summary = '创建用户' ,
76+ dependencies = [
77+ Depends (RequestPermission ('sys:user:add' )),
78+ DependsRBAC ,
79+ ],
80+ )
5981async def create_user (
6082 db : CurrentSessionTransaction , obj : AddUserParam
6183) -> ResponseSchemaModel [GetUserInfoWithRelationDetail ]:
@@ -64,7 +86,14 @@ async def create_user(
6486 return response_base .success (data = data )
6587
6688
67- @router .put ('/{pk}' , summary = '更新用户信息' , dependencies = [DependsSuperUser ])
89+ @router .put (
90+ '/{pk}' ,
91+ summary = '更新用户信息' ,
92+ dependencies = [
93+ Depends (RequestPermission ('sys:user:edit' )),
94+ DependsRBAC ,
95+ ],
96+ )
6897async def update_user (
6998 db : CurrentSessionTransaction ,
7099 pk : Annotated [int , Path (description = '用户 ID' )],
@@ -76,7 +105,11 @@ async def update_user(
76105 return response_base .fail ()
77106
78107
79- @router .put ('/{pk}/permissions' , summary = '更新用户权限' , dependencies = [DependsSuperUser ])
108+ @router .put (
109+ '/{pk}/permissions' ,
110+ summary = '更新用户权限' ,
111+ dependencies = [DependsSuperUser ],
112+ )
80113async def update_user_permission (
81114 db : CurrentSessionTransaction ,
82115 request : Request ,
@@ -99,7 +132,14 @@ async def update_user_password(
99132 return response_base .fail ()
100133
101134
102- @router .put ('/{pk}/password' , summary = '重置用户密码' , dependencies = [DependsSuperUser ])
135+ @router .put (
136+ '/{pk}/password' ,
137+ summary = '重置用户密码' ,
138+ dependencies = [
139+ Depends (RequestPermission ('sys:user:password:reset' )),
140+ DependsRBAC ,
141+ ],
142+ )
103143async def reset_user_password (
104144 db : CurrentSessionTransaction ,
105145 pk : Annotated [int , Path (description = '用户 ID' )],
0 commit comments