Skip to content

Commit a27c095

Browse files
committed
refactor: streamline permission checks in model handler for improved readability
1 parent e346137 commit a27c095

1 file changed

Lines changed: 22 additions & 13 deletions

File tree

apps/models_provider/views/model.py

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ class Operate(APIView):
123123
PermissionConstants.MODEL_EDIT.get_workspace_permission_workspace_manage_role(),
124124
ViewPermission([RoleConstants.USER.get_workspace_role()],
125125
[PermissionConstants.MODEL.get_workspace_model_permission()],
126-
CompareConstants.AND),)
126+
CompareConstants.AND), )
127127
@log(menu='model', operate='Update model',
128128
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
129129
get_details=get_edit_model_details,
@@ -143,9 +143,10 @@ def put(self, request: Request, workspace_id, model_id: str):
143143
tags=[_('Model')]) # type: ignore
144144
@has_permissions(PermissionConstants.MODEL_DELETE.get_workspace_model_permission(),
145145
PermissionConstants.MODEL_DELETE.get_workspace_permission_workspace_manage_role(),
146-
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
146+
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
147+
ViewPermission([RoleConstants.USER.get_workspace_role()],
147148
[PermissionConstants.MODEL.get_workspace_model_permission()],
148-
CompareConstants.AND),)
149+
CompareConstants.AND), )
149150
@log(menu='model', operate='Delete model',
150151
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
151152
)
@@ -163,9 +164,10 @@ def delete(self, request: Request, workspace_id: str, model_id: str):
163164
tags=[_('Model')]) # type: ignore
164165
@has_permissions(PermissionConstants.MODEL_READ.get_workspace_model_permission(),
165166
PermissionConstants.MODEL_READ.get_workspace_permission_workspace_manage_role(),
166-
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
167+
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
168+
ViewPermission([RoleConstants.USER.get_workspace_role()],
167169
[PermissionConstants.MODEL.get_workspace_model_permission()],
168-
CompareConstants.AND),)
170+
CompareConstants.AND), )
169171
def get(self, request: Request, workspace_id: str, model_id: str):
170172
return result.success(
171173
ModelSerializer.Operate(
@@ -184,9 +186,11 @@ class ModelParamsForm(APIView):
184186
tags=[_('Model')]) # type: ignore
185187
@has_permissions(PermissionConstants.MODEL_READ.get_workspace_model_permission(),
186188
PermissionConstants.MODEL_READ.get_workspace_permission_workspace_manage_role(),
187-
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
189+
PermissionConstants.MODEL_READ.get_workspace_permission(),
190+
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
191+
ViewPermission([RoleConstants.USER.get_workspace_role()],
188192
[PermissionConstants.MODEL.get_workspace_model_permission()],
189-
CompareConstants.AND),)
193+
CompareConstants.AND), )
190194
def get(self, request: Request, workspace_id: str, model_id: str):
191195
return result.success(
192196
ModelSerializer.ModelParams(data={'id': model_id}).get_model_params())
@@ -201,9 +205,11 @@ def get(self, request: Request, workspace_id: str, model_id: str):
201205
tags=[_('Model')]) # type: ignore
202206
@has_permissions(PermissionConstants.MODEL_EDIT.get_workspace_model_permission(),
203207
PermissionConstants.MODEL_EDIT.get_workspace_permission_workspace_manage_role(),
204-
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
208+
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
209+
PermissionConstants.MODEL_READ.get_workspace_permission(),
210+
ViewPermission([RoleConstants.USER.get_workspace_role()],
205211
[PermissionConstants.MODEL.get_workspace_model_permission()],
206-
CompareConstants.AND),)
212+
CompareConstants.AND), )
207213
@log(menu='model', operate='Save model parameter form',
208214
get_operation_object=lambda r, k: get_model_operation_object(k.get('model_id')),
209215
)
@@ -226,9 +232,11 @@ class ModelMeta(APIView):
226232
tags=[_('Model')]) # type: ignore
227233
@has_permissions(PermissionConstants.MODEL_READ.get_workspace_model_permission(),
228234
PermissionConstants.MODEL_READ.get_workspace_permission_workspace_manage_role(),
229-
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
235+
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
236+
PermissionConstants.MODEL_READ.get_workspace_permission(),
237+
ViewPermission([RoleConstants.USER.get_workspace_role()],
230238
[PermissionConstants.MODEL.get_workspace_model_permission()],
231-
CompareConstants.AND),)
239+
CompareConstants.AND), )
232240
def get(self, request: Request, workspace_id: str, model_id: str):
233241
return result.success(
234242
ModelSerializer.Operate(data={'id': model_id, 'workspace_id': workspace_id}).one_meta(with_valid=True))
@@ -246,9 +254,10 @@ class PauseDownload(APIView):
246254
tags=[_('Model')]) # type: ignore
247255
@has_permissions(PermissionConstants.MODEL_CREATE.get_workspace_model_permission(),
248256
PermissionConstants.MODEL_CREATE.get_workspace_permission_workspace_manage_role(),
249-
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
257+
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
258+
ViewPermission([RoleConstants.USER.get_workspace_role()],
250259
[PermissionConstants.MODEL.get_workspace_model_permission()],
251-
CompareConstants.AND),)
260+
CompareConstants.AND), )
252261
def put(self, request: Request, workspace_id: str, model_id: str):
253262
return result.success(
254263
ModelSerializer.Operate(data={'id': model_id, 'workspace_id': workspace_id}).pause_download())

0 commit comments

Comments
 (0)