14
14
15
15
from common .auth import TokenAuth
16
16
from common .auth .authentication import has_permissions
17
- from common .constants .permission_constants import PermissionConstants
17
+ from common .constants .permission_constants import PermissionConstants , RoleConstants
18
18
from common .log .log import log
19
19
from common .result import result
20
20
from common .utils .common import query_params_to_single_dict
@@ -64,10 +64,11 @@ class ModelSetting(APIView):
64
64
parameters = ModelCreateAPI .get_parameters (),
65
65
request = ModelCreateAPI .get_request (),
66
66
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 )
68
69
@log (menu = 'model' , operate = 'Create model' ,
69
70
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 ,
71
72
)
72
73
def post (self , request : Request , workspace_id : str ):
73
74
return result .success (
@@ -93,7 +94,8 @@ def post(self, request: Request, workspace_id: str):
93
94
parameters = ModelListResponse .get_parameters (),
94
95
responses = ModelListResponse .get_response (),
95
96
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 )
97
99
def get (self , request : Request , workspace_id : str ):
98
100
return result .success (
99
101
ModelSerializer .Query (
@@ -111,10 +113,11 @@ class Operate(APIView):
111
113
parameters = GetModelApi .get_parameters (),
112
114
responses = ModelEditApi .get_response (),
113
115
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 )
115
118
@log (menu = 'model' , operate = 'Update model' ,
116
119
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 ,
118
121
)
119
122
def put (self , request : Request , workspace_id , model_id : str ):
120
123
return result .success (
@@ -128,7 +131,8 @@ def put(self, request: Request, workspace_id, model_id: str):
128
131
parameters = GetModelApi .get_parameters (),
129
132
responses = DefaultModelResponse .get_response (),
130
133
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 )
132
136
@log (menu = 'model' , operate = 'Delete model' ,
133
137
get_operation_object = lambda r , k : get_model_operation_object (k .get ('model_id' )),
134
138
)
@@ -143,7 +147,8 @@ def delete(self, request: Request, workspace_id: str, model_id: str):
143
147
parameters = GetModelApi .get_parameters (),
144
148
responses = GetModelApi .get_response (),
145
149
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 )
147
152
def get (self , request : Request , workspace_id : str , model_id : str ):
148
153
return result .success (
149
154
ModelSerializer .Operate (data = {'id' : model_id , 'user_id' : request .user .id }).one (with_valid = True ))
@@ -158,7 +163,8 @@ class ModelParamsForm(APIView):
158
163
parameters = GetModelApi .get_parameters (),
159
164
responses = ProvideApi .ModelParamsForm .get_response (),
160
165
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 )
162
168
def get (self , request : Request , workspace_id : str , model_id : str ):
163
169
return result .success (
164
170
ModelSerializer .ModelParams (data = {'id' : model_id }).get_model_params ())
@@ -171,7 +177,8 @@ def get(self, request: Request, workspace_id: str, model_id: str):
171
177
request = GetModelApi .get_request (),
172
178
responses = ProvideApi .ModelParamsForm .get_response (),
173
179
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 )
175
182
@log (menu = 'model' , operate = 'Save model parameter form' ,
176
183
get_operation_object = lambda r , k : get_model_operation_object (k .get ('model_id' )),
177
184
)
@@ -192,7 +199,8 @@ class ModelMeta(APIView):
192
199
parameters = GetModelApi .get_parameters (),
193
200
responses = GetModelApi .get_response (),
194
201
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 )
196
204
def get (self , request : Request , workspace_id : str , model_id : str ):
197
205
return result .success (
198
206
ModelSerializer .Operate (data = {'id' : model_id }).one_meta (with_valid = True ))
@@ -208,7 +216,8 @@ class PauseDownload(APIView):
208
216
request = GetModelApi .get_request (),
209
217
responses = DefaultModelResponse .get_response (),
210
218
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 )
212
221
def put (self , request : Request , workspace_id : str , model_id : str ):
213
222
return result .success (
214
223
ModelSerializer .Operate (data = {'id' : model_id }).pause_download ())
@@ -226,7 +235,7 @@ class SharedModel(APIView):
226
235
responses = ModelListResponse .get_response (),
227
236
tags = [_ ('Shared Model' )]
228
237
) # type: ignore
229
- @has_permissions (PermissionConstants .MODEL_READ )
238
+ @has_permissions (PermissionConstants .MODEL_READ , RoleConstants . WORKSPACE_MANAGE . get_workspace_role )
230
239
def get (self , request : Request , workspace_id : str ):
231
240
return result .success (
232
241
SharedModelSerializer (data = {'workspace_id' : workspace_id }).get_share_model_list ())
0 commit comments