@@ -46,7 +46,8 @@ class ApplicationAPI(APIView):
46
46
responses = ApplicationCreateAPI .get_response (),
47
47
tags = [_ ('Application' )] # type: ignore
48
48
)
49
- @has_permissions (PermissionConstants .APPLICATION_READ .get_workspace_permission (),
49
+ @has_permissions (PermissionConstants .APPLICATION_CREATE .get_workspace_permission (),
50
+ RoleConstants .USER .get_workspace_role (),
50
51
RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
51
52
@log (menu = 'Application' , operate = 'Create an application' ,
52
53
get_operation_object = lambda r , k : {'name' : r .data .get ('name' )},
@@ -65,6 +66,7 @@ def post(self, request: Request, workspace_id: str):
65
66
tags = [_ ('Application' )] # type: ignore
66
67
)
67
68
@has_permissions (PermissionConstants .APPLICATION_READ .get_workspace_permission (),
69
+ RoleConstants .USER .get_workspace_role (),
68
70
RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
69
71
def get (self , request : Request , workspace_id : str ):
70
72
return result .success (Query (data = {'workspace_id' : workspace_id , 'user_id' : request .user .id }).list (request .data ))
@@ -82,6 +84,7 @@ class Page(APIView):
82
84
tags = [_ ('Application' )] # type: ignore
83
85
)
84
86
@has_permissions (PermissionConstants .APPLICATION_READ .get_workspace_permission (),
87
+ RoleConstants .USER .get_workspace_role (),
85
88
RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
86
89
def get (self , request : Request , workspace_id : str , current_page : int , page_size : int ):
87
90
return result .success (
@@ -102,7 +105,9 @@ class Import(APIView):
102
105
responses = result .DefaultResultSerializer ,
103
106
tags = [_ ('Application' )] # type: ignore
104
107
)
105
- @has_permissions (PermissionConstants .APPLICATION_READ , RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
108
+ @has_permissions (PermissionConstants .APPLICATION_IMPORT .get_workspace_permission (),
109
+ RoleConstants .USER .get_workspace_role (),
110
+ RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
106
111
@log (menu = 'Application' , operate = "Import Application" , )
107
112
def post (self , request : Request , workspace_id : str ):
108
113
return result .success (ApplicationSerializer (
@@ -123,6 +128,8 @@ class Export(APIView):
123
128
tags = [_ ('Application' )] # type: ignore
124
129
)
125
130
@has_permissions (PermissionConstants .APPLICATION_EXPORT .get_workspace_application_permission (),
131
+ PermissionConstants .APPLICATION_EXPORT .get_workspace_permission_workspace_manage_role (),
132
+ RoleConstants .USER .get_workspace_role (),
126
133
RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
127
134
@log (menu = 'Application' , operate = "Export Application" ,
128
135
get_operation_object = lambda r , k : get_application_operation_object (k .get ('application_id' )),
@@ -146,6 +153,8 @@ class Operate(APIView):
146
153
tags = [_ ('Application' )] # type: ignore
147
154
)
148
155
@has_permissions (PermissionConstants .APPLICATION_DELETE .get_workspace_application_permission (),
156
+ PermissionConstants .APPLICATION_DELETE .get_workspace_permission_workspace_manage_role (),
157
+ RoleConstants .USER .get_workspace_role (),
149
158
RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
150
159
@log (menu = 'Application' , operate = 'Deleting application' ,
151
160
get_operation_object = lambda r , k : get_application_operation_object (k .get ('application_id' )),
@@ -168,6 +177,8 @@ def delete(self, request: Request, workspace_id: str, application_id: str):
168
177
tags = [_ ('Application' )] # type: ignore
169
178
)
170
179
@has_permissions (PermissionConstants .APPLICATION_EDIT .get_workspace_application_permission (),
180
+ PermissionConstants .APPLICATION_EDIT .get_workspace_permission_workspace_manage_role (),
181
+ RoleConstants .USER .get_workspace_role (),
171
182
RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
172
183
@log (menu = 'Application' , operate = "Modify the application" ,
173
184
get_operation_object = lambda r , k : get_application_operation_object (k .get ('application_id' )),
@@ -189,8 +200,10 @@ def put(self, request: Request, workspace_id: str, application_id: str):
189
200
responses = result .DefaultResultSerializer ,
190
201
tags = [_ ('Application' )] # type: ignore
191
202
)
192
- @has_permissions (PermissionConstants .WORKSPACE_READ .get_workspace_application_permission (),
193
- RoleConstants .WORKSPACE_MANAGE .get_workspace_role (), RoleConstants .ADMIN )
203
+ @has_permissions (PermissionConstants .APPLICATION_READ .get_workspace_application_permission (),
204
+ PermissionConstants .APPLICATION_READ .get_workspace_permission_workspace_manage_role (),
205
+ RoleConstants .USER .get_workspace_role (),
206
+ RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
194
207
def get (self , request : Request , workspace_id : str , application_id : str ):
195
208
return result .success (ApplicationOperateSerializer (
196
209
data = {'application_id' : application_id , 'user_id' : request .user .id ,
@@ -209,10 +222,12 @@ class Publish(APIView):
209
222
responses = result .DefaultResultSerializer ,
210
223
tags = [_ ('Application' )] # type: ignore
211
224
)
225
+ @has_permissions (PermissionConstants .APPLICATION_EDIT .get_workspace_application_permission (),
226
+ PermissionConstants .APPLICATION_EDIT .get_workspace_permission_workspace_manage_role (),
227
+ RoleConstants .USER .get_workspace_role (),
228
+ RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
212
229
@log (menu = 'Application' , operate = 'Publishing an application' ,
213
- get_operation_object = lambda r , k : get_application_operation_object (k .get ('application_id' )),
214
-
215
- )
230
+ get_operation_object = lambda r , k : get_application_operation_object (k .get ('application_id' )))
216
231
def put (self , request : Request , workspace_id : str , application_id : str ):
217
232
return result .success (
218
233
ApplicationOperateSerializer (
0 commit comments