Skip to content

Commit 60e3005

Browse files
committed
fix: Tool permission by extend workspace manager
1 parent 82779d1 commit 60e3005

File tree

1 file changed

+25
-16
lines changed

1 file changed

+25
-16
lines changed

apps/tools/views/tool.py

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ class ToolView(APIView):
3939
tags=[_('Tool')] # type: ignore
4040
)
4141
@has_permissions(
42-
PermissionConstants.TOOL_CREATE.get_workspace_permission(),
42+
PermissionConstants.TOOL_CREATE.get_workspace_tool_permission(),
43+
PermissionConstants.TOOL_CREATE.get_workspace_permission_workspace_manage_role(),
4344
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
4445
)
4546
@log(
@@ -61,7 +62,8 @@ def post(self, request: Request, workspace_id: str):
6162
tags=[_('Tool')] # type: ignore
6263
)
6364
@has_permissions(
64-
PermissionConstants.TOOL_READ.get_workspace_permission(),
65+
PermissionConstants.TOOL_READ.get_workspace_tool_permission(),
66+
PermissionConstants.TOOL_READ.get_workspace_permission_workspace_manage_role(),
6567
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
6668
)
6769
def get(self, request: Request, workspace_id: str):
@@ -82,7 +84,8 @@ class Debug(APIView):
8284
tags=[_('Tool')] # type: ignore
8385
)
8486
@has_permissions(
85-
PermissionConstants.TOOL_DEBUG.get_workspace_permission(),
87+
PermissionConstants.TOOL_DEBUG.get_workspace_tool_permission(),
88+
PermissionConstants.TOOL_DEBUG.get_workspace_permission_workspace_manage_role(),
8689
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
8790
)
8891
def post(self, request: Request, workspace_id: str):
@@ -104,7 +107,7 @@ class Operate(APIView):
104107
tags=[_('Tool')] # type: ignore
105108
)
106109
@has_permissions(
107-
PermissionConstants.TOOL_EDIT.get_workspace_permission(),
110+
PermissionConstants.TOOL_EDIT.get_workspace_tool_permission(),
108111
PermissionConstants.TOOL_EDIT.get_workspace_permission_workspace_manage_role(),
109112
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
110113
ViewPermission([RoleConstants.USER.get_workspace_role()],
@@ -131,7 +134,8 @@ def put(self, request: Request, workspace_id: str, tool_id: str):
131134
tags=[_('Tool')] # type: ignore
132135
)
133136
@has_permissions(
134-
PermissionConstants.TOOL_READ.get_workspace_permission(),
137+
PermissionConstants.TOOL_READ.get_workspace_tool_permission(),
138+
PermissionConstants.TOOL_READ.get_workspace_permission_workspace_manage_role(),
135139
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
136140
[PermissionConstants.TOOL.get_workspace_tool_permission()],
137141
CompareConstants.AND),
@@ -152,7 +156,8 @@ def get(self, request: Request, workspace_id: str, tool_id: str):
152156
tags=[_('Tool')] # type: ignore
153157
)
154158
@has_permissions(
155-
PermissionConstants.TOOL_DELETE.get_workspace_permission(),
159+
PermissionConstants.TOOL_DELETE.get_workspace_tool_permission(),
160+
PermissionConstants.TOOL_DELETE.get_workspace_permission_workspace_manage_role(),
156161
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
157162
[PermissionConstants.TOOL.get_workspace_tool_permission()],
158163
CompareConstants.AND),
@@ -180,7 +185,8 @@ class Page(APIView):
180185
tags=[_('Tool')] # type: ignore
181186
)
182187
@has_permissions(
183-
PermissionConstants.TOOL_READ.get_workspace_permission(),
188+
PermissionConstants.TOOL_READ.get_workspace_tool_permission(),
189+
PermissionConstants.TOOL_READ.get_workspace_permission_workspace_manage_role(),
184190
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
185191
)
186192
@log(menu='Tool', operate='Get tool list')
@@ -211,7 +217,8 @@ class Import(APIView):
211217
tags=[_("Tool")] # type: ignore
212218
)
213219
@has_permissions(
214-
PermissionConstants.TOOL_IMPORT.get_workspace_permission(),
220+
PermissionConstants.TOOL_IMPORT.get_workspace_tool_permission(),
221+
PermissionConstants.TOOL_IMPORT.get_workspace_permission_workspace_manage_role(),
215222
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
216223
)
217224
@log(menu='Tool', operate='Import tool', )
@@ -233,7 +240,8 @@ class Export(APIView):
233240
tags=[_("Tool")] # type: ignore
234241
)
235242
@has_permissions(
236-
PermissionConstants.TOOL_EXPORT.get_workspace_permission(),
243+
PermissionConstants.TOOL_EXPORT.get_workspace_tool_permission(),
244+
PermissionConstants.TOOL_EXPORT.get_workspace_permission_workspace_manage_role(),
237245
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
238246
[PermissionConstants.TOOL.get_workspace_tool_permission()],
239247
CompareConstants.AND),
@@ -261,8 +269,8 @@ class Pylint(APIView):
261269
tags=[_('Tool')] # type: ignore
262270
)
263271
@has_permissions(
264-
PermissionConstants.TOOL_CREATE.get_workspace_permission(),
265-
PermissionConstants.TOOL_EDIT.get_workspace_permission(),
272+
PermissionConstants.TOOL_CREATE.get_workspace_tool_permission(),
273+
PermissionConstants.TOOL_EDIT.get_workspace_permission_workspace_manage_role(),
266274
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
267275
RoleConstants.USER.get_workspace_role()
268276
)
@@ -286,7 +294,8 @@ class EditIcon(APIView):
286294
tags=[_('Tool')] # type: ignore
287295
)
288296
@has_permissions(
289-
PermissionConstants.TOOL_EDIT.get_workspace_permission(),
297+
PermissionConstants.TOOL_EDIT.get_workspace_tool_permission(),
298+
PermissionConstants.TOOL_EDIT.get_workspace_permission_workspace_manage_role(),
290299
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
291300
[PermissionConstants.TOOL.get_workspace_tool_permission()],
292301
CompareConstants.AND),
@@ -331,10 +340,10 @@ class AddInternalTool(APIView):
331340
tags=[_("Tool")] # type: ignore
332341
)
333342
@has_permissions(
334-
PermissionConstants.TOOL_CREATE.get_workspace_permission(),
335-
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ViewPermission([RoleConstants.USER.get_workspace_role()],
336-
[PermissionConstants.TOOL.get_workspace_tool_permission()],
337-
CompareConstants.AND),
343+
PermissionConstants.TOOL_CREATE.get_workspace_tool_permission(),
344+
PermissionConstants.TOOL_CREATE.get_workspace_permission_workspace_manage_role(),
345+
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(),
346+
RoleConstants.USER.get_workspace_role(),
338347
)
339348
@log(
340349
menu='Tool', operate="Add internal tool",

0 commit comments

Comments
 (0)