1414
1515from common .auth import TokenAuth
1616from common .auth .authentication import has_permissions
17- from common .constants .permission_constants import PermissionConstants
17+ from common .constants .permission_constants import PermissionConstants , RoleConstants
1818from common .log .log import log
1919from common .result import result
2020from common .utils .common import query_params_to_single_dict
@@ -64,10 +64,11 @@ class ModelSetting(APIView):
6464 parameters = ModelCreateAPI .get_parameters (),
6565 request = ModelCreateAPI .get_request (),
6666 responses = ModelCreateAPI .get_response ())
67- @has_permissions (PermissionConstants .MODEL_CREATE .get_workspace_permission ())
67+ @has_permissions (PermissionConstants .MODEL_CREATE .get_workspace_permission (),
68+ RoleConstants .WORKSPACE_MANAGE .get_workspace_role )
6869 @log (menu = 'model' , operate = 'Create model' ,
6970 get_operation_object = lambda r , k : {'name' : r .date .get ('name' )},
70- get_details = get_edit_model_details ,
71+ get_details = get_edit_model_details ,
7172 )
7273 def post (self , request : Request , workspace_id : str ):
7374 return result .success (
@@ -93,7 +94,8 @@ def post(self, request: Request, workspace_id: str):
9394 parameters = ModelListResponse .get_parameters (),
9495 responses = ModelListResponse .get_response (),
9596 tags = [_ ('Model' )]) # type: ignore
96- @has_permissions (PermissionConstants .MODEL_READ .get_workspace_permission ())
97+ @has_permissions (PermissionConstants .MODEL_READ .get_workspace_permission (),
98+ RoleConstants .WORKSPACE_MANAGE .get_workspace_role )
9799 def get (self , request : Request , workspace_id : str ):
98100 return result .success (
99101 ModelSerializer .Query (
@@ -111,10 +113,11 @@ class Operate(APIView):
111113 parameters = GetModelApi .get_parameters (),
112114 responses = ModelEditApi .get_response (),
113115 tags = [_ ('Model' )]) # type: ignore
114- @has_permissions (PermissionConstants .MODEL_EDIT .get_workspace_permission ())
116+ @has_permissions (PermissionConstants .MODEL_EDIT .get_workspace_permission (),
117+ RoleConstants .WORKSPACE_MANAGE .get_workspace_role )
115118 @log (menu = 'model' , operate = 'Update model' ,
116119 get_operation_object = lambda r , k : get_model_operation_object (k .get ('model_id' )),
117- get_details = get_edit_model_details ,
120+ get_details = get_edit_model_details ,
118121 )
119122 def put (self , request : Request , workspace_id , model_id : str ):
120123 return result .success (
@@ -128,7 +131,8 @@ def put(self, request: Request, workspace_id, model_id: str):
128131 parameters = GetModelApi .get_parameters (),
129132 responses = DefaultModelResponse .get_response (),
130133 tags = [_ ('Model' )]) # type: ignore
131- @has_permissions (PermissionConstants .MODEL_DELETE .get_workspace_permission ())
134+ @has_permissions (PermissionConstants .MODEL_DELETE .get_workspace_permission (),
135+ RoleConstants .WORKSPACE_MANAGE .get_workspace_role )
132136 @log (menu = 'model' , operate = 'Delete model' ,
133137 get_operation_object = lambda r , k : get_model_operation_object (k .get ('model_id' )),
134138 )
@@ -143,7 +147,8 @@ def delete(self, request: Request, workspace_id: str, model_id: str):
143147 parameters = GetModelApi .get_parameters (),
144148 responses = GetModelApi .get_response (),
145149 tags = [_ ('Model' )]) # type: ignore
146- @has_permissions (PermissionConstants .MODEL_READ .get_workspace_permission ())
150+ @has_permissions (PermissionConstants .MODEL_READ .get_workspace_permission (),
151+ RoleConstants .WORKSPACE_MANAGE .get_workspace_role )
147152 def get (self , request : Request , workspace_id : str , model_id : str ):
148153 return result .success (
149154 ModelSerializer .Operate (data = {'id' : model_id , 'user_id' : request .user .id }).one (with_valid = True ))
@@ -158,7 +163,8 @@ class ModelParamsForm(APIView):
158163 parameters = GetModelApi .get_parameters (),
159164 responses = ProvideApi .ModelParamsForm .get_response (),
160165 tags = [_ ('Model' )]) # type: ignore
161- @has_permissions (PermissionConstants .MODEL_READ .get_workspace_permission ())
166+ @has_permissions (PermissionConstants .MODEL_READ .get_workspace_permission (),
167+ RoleConstants .WORKSPACE_MANAGE .get_workspace_role )
162168 def get (self , request : Request , workspace_id : str , model_id : str ):
163169 return result .success (
164170 ModelSerializer .ModelParams (data = {'id' : model_id }).get_model_params ())
@@ -171,7 +177,8 @@ def get(self, request: Request, workspace_id: str, model_id: str):
171177 request = GetModelApi .get_request (),
172178 responses = ProvideApi .ModelParamsForm .get_response (),
173179 tags = [_ ('Model' )]) # type: ignore
174- @has_permissions (PermissionConstants .MODEL_READ .get_workspace_permission ())
180+ @has_permissions (PermissionConstants .MODEL_READ .get_workspace_permission (),
181+ RoleConstants .WORKSPACE_MANAGE .get_workspace_role )
175182 @log (menu = 'model' , operate = 'Save model parameter form' ,
176183 get_operation_object = lambda r , k : get_model_operation_object (k .get ('model_id' )),
177184 )
@@ -192,7 +199,8 @@ class ModelMeta(APIView):
192199 parameters = GetModelApi .get_parameters (),
193200 responses = GetModelApi .get_response (),
194201 tags = [_ ('Model' )]) # type: ignore
195- @has_permissions (PermissionConstants .MODEL_READ .get_workspace_permission ())
202+ @has_permissions (PermissionConstants .MODEL_READ .get_workspace_permission (),
203+ RoleConstants .WORKSPACE_MANAGE .get_workspace_role )
196204 def get (self , request : Request , workspace_id : str , model_id : str ):
197205 return result .success (
198206 ModelSerializer .Operate (data = {'id' : model_id }).one_meta (with_valid = True ))
@@ -208,7 +216,8 @@ class PauseDownload(APIView):
208216 request = GetModelApi .get_request (),
209217 responses = DefaultModelResponse .get_response (),
210218 tags = [_ ('Model' )]) # type: ignore
211- @has_permissions (PermissionConstants .MODEL_CREATE .get_workspace_permission ())
219+ @has_permissions (PermissionConstants .MODEL_CREATE .get_workspace_permission (),
220+ RoleConstants .WORKSPACE_MANAGE .get_workspace_role )
212221 def put (self , request : Request , workspace_id : str , model_id : str ):
213222 return result .success (
214223 ModelSerializer .Operate (data = {'id' : model_id }).pause_download ())
@@ -226,7 +235,7 @@ class SharedModel(APIView):
226235 responses = ModelListResponse .get_response (),
227236 tags = [_ ('Shared Model' )]
228237 ) # type: ignore
229- @has_permissions (PermissionConstants .MODEL_READ )
238+ @has_permissions (PermissionConstants .MODEL_READ , RoleConstants . WORKSPACE_MANAGE . get_workspace_role )
230239 def get (self , request : Request , workspace_id : str ):
231240 return result .success (
232241 SharedModelSerializer (data = {'workspace_id' : workspace_id }).get_share_model_list ())
0 commit comments