@@ -46,7 +46,8 @@ class ApplicationAPI(APIView):
4646 responses = ApplicationCreateAPI .get_response (),
4747 tags = [_ ('Application' )] # type: ignore
4848 )
49- @has_permissions (PermissionConstants .APPLICATION_READ .get_workspace_permission (),
49+ @has_permissions (PermissionConstants .APPLICATION_CREATE .get_workspace_permission (),
50+ RoleConstants .USER .get_workspace_role (),
5051 RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
5152 @log (menu = 'Application' , operate = 'Create an application' ,
5253 get_operation_object = lambda r , k : {'name' : r .data .get ('name' )},
@@ -65,6 +66,7 @@ def post(self, request: Request, workspace_id: str):
6566 tags = [_ ('Application' )] # type: ignore
6667 )
6768 @has_permissions (PermissionConstants .APPLICATION_READ .get_workspace_permission (),
69+ RoleConstants .USER .get_workspace_role (),
6870 RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
6971 def get (self , request : Request , workspace_id : str ):
7072 return result .success (Query (data = {'workspace_id' : workspace_id , 'user_id' : request .user .id }).list (request .data ))
@@ -82,6 +84,7 @@ class Page(APIView):
8284 tags = [_ ('Application' )] # type: ignore
8385 )
8486 @has_permissions (PermissionConstants .APPLICATION_READ .get_workspace_permission (),
87+ RoleConstants .USER .get_workspace_role (),
8588 RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
8689 def get (self , request : Request , workspace_id : str , current_page : int , page_size : int ):
8790 return result .success (
@@ -102,7 +105,9 @@ class Import(APIView):
102105 responses = result .DefaultResultSerializer ,
103106 tags = [_ ('Application' )] # type: ignore
104107 )
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 ())
106111 @log (menu = 'Application' , operate = "Import Application" , )
107112 def post (self , request : Request , workspace_id : str ):
108113 return result .success (ApplicationSerializer (
@@ -123,6 +128,8 @@ class Export(APIView):
123128 tags = [_ ('Application' )] # type: ignore
124129 )
125130 @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 (),
126133 RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
127134 @log (menu = 'Application' , operate = "Export Application" ,
128135 get_operation_object = lambda r , k : get_application_operation_object (k .get ('application_id' )),
@@ -146,6 +153,8 @@ class Operate(APIView):
146153 tags = [_ ('Application' )] # type: ignore
147154 )
148155 @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 (),
149158 RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
150159 @log (menu = 'Application' , operate = 'Deleting application' ,
151160 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):
168177 tags = [_ ('Application' )] # type: ignore
169178 )
170179 @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 (),
171182 RoleConstants .WORKSPACE_MANAGE .get_workspace_role ())
172183 @log (menu = 'Application' , operate = "Modify the application" ,
173184 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):
189200 responses = result .DefaultResultSerializer ,
190201 tags = [_ ('Application' )] # type: ignore
191202 )
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 ())
194207 def get (self , request : Request , workspace_id : str , application_id : str ):
195208 return result .success (ApplicationOperateSerializer (
196209 data = {'application_id' : application_id , 'user_id' : request .user .id ,
@@ -209,10 +222,12 @@ class Publish(APIView):
209222 responses = result .DefaultResultSerializer ,
210223 tags = [_ ('Application' )] # type: ignore
211224 )
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 ())
212229 @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' )))
216231 def put (self , request : Request , workspace_id : str , application_id : str ):
217232 return result .success (
218233 ApplicationOperateSerializer (
0 commit comments