1111 DeleteAllPoliciesParam ,
1212 DeletePolicyParam ,
1313 DeleteUserRoleParam ,
14+ GetPolicyDetail ,
1415 UpdatePoliciesParam ,
1516 UpdatePolicyParam ,
1617)
1718from backend .app .admin .service .casbin_service import casbin_service
18- from backend .common .pagination import DependsPagination , paging_data
19- from backend .common .response .response_schema import ResponseModel , response_base
19+ from backend .common .pagination import DependsPagination , PageData , paging_data
20+ from backend .common .response .response_schema import ResponseModel , ResponseSchemaModel , response_base
2021from backend .common .security .jwt import DependsJwtAuth
2122from backend .common .security .permission import RequestPermission
2223from backend .common .security .rbac import DependsRBAC
@@ -37,14 +38,16 @@ async def get_pagination_casbin(
3738 db : CurrentSession ,
3839 ptype : Annotated [str | None , Query (description = '策略类型, p / g' )] = None ,
3940 sub : Annotated [str | None , Query (description = '用户 uuid / 角色' )] = None ,
40- ) -> ResponseModel :
41+ ) -> ResponseSchemaModel [ PageData [ GetPolicyDetail ]] :
4142 casbin_select = await casbin_service .get_casbin_list (ptype = ptype , sub = sub )
4243 page_data = await paging_data (db , casbin_select )
4344 return response_base .success (data = page_data )
4445
4546
4647@router .get ('/policies' , summary = '获取所有P权限策略' , dependencies = [DependsJwtAuth ])
47- async def get_all_policies (role : Annotated [int | None , Query (description = '角色ID' )] = None ) -> ResponseModel :
48+ async def get_all_policies (
49+ role : Annotated [int | None , Query (description = '角色ID' )] = None ,
50+ ) -> ResponseSchemaModel [list [GetPolicyDetail ]]:
4851 policies = await casbin_service .get_policy_list (role = role )
4952 return response_base .success (data = policies )
5053
@@ -57,7 +60,7 @@ async def get_all_policies(role: Annotated[int | None, Query(description='角色
5760 DependsRBAC ,
5861 ],
5962)
60- async def create_policy (p : CreatePolicyParam ) -> ResponseModel :
63+ async def create_policy (p : CreatePolicyParam ) -> ResponseSchemaModel [ bool ] :
6164 """
6265 p 策略:
6366
@@ -79,7 +82,7 @@ async def create_policy(p: CreatePolicyParam) -> ResponseModel:
7982 DependsRBAC ,
8083 ],
8184)
82- async def create_policies (ps : list [CreatePolicyParam ]) -> ResponseModel :
85+ async def create_policies (ps : list [CreatePolicyParam ]) -> ResponseSchemaModel [ bool ] :
8386 data = await casbin_service .create_policies (ps = ps )
8487 return response_base .success (data = data )
8588
@@ -92,7 +95,7 @@ async def create_policies(ps: list[CreatePolicyParam]) -> ResponseModel:
9295 DependsRBAC ,
9396 ],
9497)
95- async def update_policy (obj : UpdatePolicyParam ) -> ResponseModel :
98+ async def update_policy (obj : UpdatePolicyParam ) -> ResponseSchemaModel [ bool ] :
9699 data = await casbin_service .update_policy (obj = obj )
97100 return response_base .success (data = data )
98101
@@ -105,7 +108,7 @@ async def update_policy(obj: UpdatePolicyParam) -> ResponseModel:
105108 DependsRBAC ,
106109 ],
107110)
108- async def update_policies (obj : UpdatePoliciesParam ) -> ResponseModel :
111+ async def update_policies (obj : UpdatePoliciesParam ) -> ResponseSchemaModel [ bool ] :
109112 data = await casbin_service .update_policies (obj = obj )
110113 return response_base .success (data = data )
111114
@@ -118,7 +121,7 @@ async def update_policies(obj: UpdatePoliciesParam) -> ResponseModel:
118121 DependsRBAC ,
119122 ],
120123)
121- async def delete_policy (p : DeletePolicyParam ) -> ResponseModel :
124+ async def delete_policy (p : DeletePolicyParam ) -> ResponseSchemaModel [ bool ] :
122125 data = await casbin_service .delete_policy (p = p )
123126 return response_base .success (data = data )
124127
@@ -131,7 +134,7 @@ async def delete_policy(p: DeletePolicyParam) -> ResponseModel:
131134 DependsRBAC ,
132135 ],
133136)
134- async def delete_policies (ps : list [DeletePolicyParam ]) -> ResponseModel :
137+ async def delete_policies (ps : list [DeletePolicyParam ]) -> ResponseSchemaModel [ bool ] :
135138 data = await casbin_service .delete_policies (ps = ps )
136139 return response_base .success (data = data )
137140
@@ -152,7 +155,7 @@ async def delete_all_policies(sub: DeleteAllPoliciesParam) -> ResponseModel:
152155
153156
154157@router .get ('/groups' , summary = '获取所有G权限策略' , dependencies = [DependsJwtAuth ])
155- async def get_all_groups () -> ResponseModel :
158+ async def get_all_groups () -> ResponseSchemaModel [ list ] :
156159 data = await casbin_service .get_group_list ()
157160 return response_base .success (data = data )
158161
@@ -165,7 +168,7 @@ async def get_all_groups() -> ResponseModel:
165168 DependsRBAC ,
166169 ],
167170)
168- async def create_group (g : CreateUserRoleParam ) -> ResponseModel :
171+ async def create_group (g : CreateUserRoleParam ) -> ResponseSchemaModel [ bool ] :
169172 """
170173 g 策略 (**依赖 p 策略**):
171174
@@ -187,7 +190,7 @@ async def create_group(g: CreateUserRoleParam) -> ResponseModel:
187190 DependsRBAC ,
188191 ],
189192)
190- async def create_groups (gs : list [CreateUserRoleParam ]) -> ResponseModel :
193+ async def create_groups (gs : list [CreateUserRoleParam ]) -> ResponseSchemaModel [ bool ] :
191194 data = await casbin_service .create_groups (gs = gs )
192195 return response_base .success (data = data )
193196
@@ -200,7 +203,7 @@ async def create_groups(gs: list[CreateUserRoleParam]) -> ResponseModel:
200203 DependsRBAC ,
201204 ],
202205)
203- async def delete_group (g : DeleteUserRoleParam ) -> ResponseModel :
206+ async def delete_group (g : DeleteUserRoleParam ) -> ResponseSchemaModel [ bool ] :
204207 data = await casbin_service .delete_group (g = g )
205208 return response_base .success (data = data )
206209
@@ -213,7 +216,7 @@ async def delete_group(g: DeleteUserRoleParam) -> ResponseModel:
213216 DependsRBAC ,
214217 ],
215218)
216- async def delete_groups (gs : list [DeleteUserRoleParam ]) -> ResponseModel :
219+ async def delete_groups (gs : list [DeleteUserRoleParam ]) -> ResponseSchemaModel [ bool ] :
217220 data = await casbin_service .delete_groups (gs = gs )
218221 return response_base .success (data = data )
219222
0 commit comments