Skip to content

Commit c8a5048

Browse files
committed
feat: add user role permissions to workspace operations
1 parent 961e67e commit c8a5048

File tree

6 files changed

+110
-112
lines changed

6 files changed

+110
-112
lines changed

apps/folders/views/folder.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ class FolderView(APIView):
3939
@has_permissions(
4040
lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.CREATE,
4141
resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"),
42-
RoleConstants.WORKSPACE_MANAGE.get_workspace_role()
42+
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
4343
)
4444
@log(
4545
menu='folder', operate='Create folder',
4646
get_operation_object=lambda r, k: {'name': r.data.get('name')},
47-
47+
4848
)
4949
def post(self, request: Request, workspace_id: str, source: str):
5050
return result.success(FolderSerializer.Create(
@@ -65,7 +65,7 @@ def post(self, request: Request, workspace_id: str, source: str):
6565
@has_permissions(
6666
lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.READ,
6767
resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"),
68-
RoleConstants.WORKSPACE_MANAGE.get_workspace_role()
68+
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
6969
)
7070
def get(self, request: Request, workspace_id: str, source: str):
7171
return result.success(FolderTreeSerializer(
@@ -88,12 +88,11 @@ class Operate(APIView):
8888
@has_permissions(
8989
lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.EDIT,
9090
resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"),
91-
RoleConstants.WORKSPACE_MANAGE.get_workspace_role()
91+
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
9292
)
9393
@log(
9494
menu='folder', operate='Edit folder',
9595
get_operation_object=lambda r, k: get_folder_operation_object(k.get('folder_id'), k.get('source')),
96-
9796
)
9897
def put(self, request: Request, workspace_id: str, source: str, folder_id: str):
9998
return result.success(FolderSerializer.Operate(
@@ -112,7 +111,7 @@ def put(self, request: Request, workspace_id: str, source: str, folder_id: str):
112111
@has_permissions(
113112
lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.READ,
114113
resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"),
115-
RoleConstants.WORKSPACE_MANAGE.get_workspace_role()
114+
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
116115
)
117116
def get(self, request: Request, workspace_id: str, source: str, folder_id: str):
118117
return result.success(FolderSerializer.Operate(
@@ -131,12 +130,11 @@ def get(self, request: Request, workspace_id: str, source: str, folder_id: str):
131130
@has_permissions(
132131
lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.DELETE,
133132
resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"),
134-
RoleConstants.WORKSPACE_MANAGE.get_workspace_role()
133+
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
135134
)
136135
@log(
137136
menu='folder', operate='Delete folder',
138137
get_operation_object=lambda r, k: get_folder_operation_object(k.get('folder_id'), k.get('source')),
139-
140138
)
141139
def delete(self, request: Request, workspace_id: str, source: str, folder_id: str):
142140
return result.success(FolderSerializer.Operate(

0 commit comments

Comments
 (0)