diff --git a/apps/common/constants/permission_constants.py b/apps/common/constants/permission_constants.py index 4f1dd2ae2..ec6f1e1e4 100644 --- a/apps/common/constants/permission_constants.py +++ b/apps/common/constants/permission_constants.py @@ -22,6 +22,12 @@ class Group(Enum): KNOWLEDGE = "KNOWLEDGE" + KNOWLEDGE_DOCUMENT = "KNOWLEDGE_DOCUMENT" + + KNOWLEDGE_PARAGRAPH = "KNOWLEDGE_PARAGRAPH" + + KNOWLEDGE_PROBLEM = "KNOWLEDGE_PROBLEM" + MODEL = "MODEL" TOOL = "TOOL" @@ -153,91 +159,143 @@ class PermissionConstants(Enum): """ 权限枚举 """ - USER_READ = Permission(group=Group.USER, operate=Operate.READ, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - USER_CREATE = Permission(group=Group.USER, operate=Operate.CREATE, - role_list=[RoleConstants.ADMIN]) - USER_EDIT = Permission(group=Group.USER, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN]) - USER_DELETE = Permission(group=Group.USER, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN]) - - MODEL_CREATE = Permission(group=Group.MODEL, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - MODEL_READ = Permission(group=Group.MODEL, operate=Operate.READ, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - MODEL_EDIT = Permission(group=Group.MODEL, operate=Operate.EDIT, - role_list=[RoleConstants.ADMIN, RoleConstants.USER]) - MODEL_DELETE = Permission(group=Group.MODEL, operate=Operate.DELETE, - role_list=[RoleConstants.ADMIN, RoleConstants.USER]) - TOOL_FOLDER_CREATE = Permission(group=Group.TOOL, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - TOOL_FOLDER_READ = Permission(group=Group.TOOL, operate=Operate.READ, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - TOOL_FOLDER_EDIT = Permission(group=Group.TOOL, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - TOOL_FOLDER_DELETE = Permission(group=Group.TOOL, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - - TOOL_CREATE = Permission(group=Group.TOOL, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - TOOL_EDIT = Permission(group=Group.TOOL, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - TOOL_READ = Permission(group=Group.TOOL, operate=Operate.READ, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - TOOL_DELETE = Permission(group=Group.TOOL, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - TOOL_DEBUG = Permission(group=Group.TOOL, operate=Operate.USE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - TOOL_IMPORT = Permission(group=Group.TOOL, operate=Operate.USE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - TOOL_EXPORT = Permission(group=Group.TOOL, operate=Operate.USE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - - KNOWLEDGE_FOLDER_CREATE = Permission(group=Group.KNOWLEDGE, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - KNOWLEDGE_FOLDER_READ = Permission(group=Group.KNOWLEDGE, operate=Operate.READ, role_list=[RoleConstants.ADMIN, - RoleConstants.USER], - resource_permission_group_list=[ - ResourcePermissionGroup.VIEW - ]) - KNOWLEDGE_FOLDER_EDIT = Permission(group=Group.KNOWLEDGE, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, - RoleConstants.USER], - resource_permission_group_list=[ - ResourcePermissionGroup.MANAGE - ] - ) - KNOWLEDGE_FOLDER_DELETE = Permission(group=Group.KNOWLEDGE, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER], - resource_permission_group_list=[ - ResourcePermissionGroup.MANAGE - ] - ) - KNOWLEDGE_READ = Permission(group=Group.KNOWLEDGE, operate=Operate.READ, role_list=[RoleConstants.ADMIN, - RoleConstants.USER], - resource_permission_group_list=[ResourcePermissionGroup.VIEW]) - KNOWLEDGE_CREATE = Permission(group=Group.KNOWLEDGE, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - KNOWLEDGE_EDIT = Permission(group=Group.KNOWLEDGE, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - KNOWLEDGE_DELETE = Permission(group=Group.KNOWLEDGE, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - DOCUMENT_READ = Permission(group=Group.KNOWLEDGE, operate=Operate.READ, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - DOCUMENT_CREATE = Permission(group=Group.KNOWLEDGE, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - DOCUMENT_EDIT = Permission(group=Group.KNOWLEDGE, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - DOCUMENT_DELETE = Permission(group=Group.KNOWLEDGE, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, - RoleConstants.USER]) - - WORKSPACE_USER_RESOURCE_PERMISSION_READ = Permission(group=Group.WORKSPACE_USER_RESOURCE_PERMISSION, - operate=Operate.READ, - role_list=[RoleConstants.ADMIN, - RoleConstants.WORKSPACE_MANAGE]) - - EMAIL_SETTING_READ = Permission(group=Group.USER, operate=Operate.READ, - role_list=[RoleConstants.ADMIN]) - EMAIL_SETTING_EDIT = Permission(group=Group.USER, operate=Operate.EDIT, - role_list=[RoleConstants.ADMIN]) + USER_READ = Permission( + group=Group.USER, operate=Operate.READ, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + USER_CREATE = Permission( + group=Group.USER, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN] + ) + USER_EDIT = Permission( + group=Group.USER, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN] + ) + USER_DELETE = Permission( + group=Group.USER, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN] + ) + MODEL_CREATE = Permission( + group=Group.MODEL, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + MODEL_READ = Permission( + group=Group.MODEL, operate=Operate.READ, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + MODEL_EDIT = Permission( + group=Group.MODEL, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + MODEL_DELETE = Permission( + group=Group.MODEL, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + TOOL_FOLDER_CREATE = Permission( + group=Group.TOOL, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + TOOL_FOLDER_READ = Permission( + group=Group.TOOL, operate=Operate.READ, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + TOOL_FOLDER_EDIT = Permission( + group=Group.TOOL, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + TOOL_FOLDER_DELETE = Permission( + group=Group.TOOL, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + TOOL_CREATE = Permission( + group=Group.TOOL, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + TOOL_EDIT = Permission( + group=Group.TOOL, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + TOOL_READ = Permission( + group=Group.TOOL, operate=Operate.READ, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + TOOL_DELETE = Permission( + group=Group.TOOL, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + TOOL_DEBUG = Permission( + group=Group.TOOL, operate=Operate.USE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + TOOL_IMPORT = Permission( + group=Group.TOOL, operate=Operate.USE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + TOOL_EXPORT = Permission( + group=Group.TOOL, operate=Operate.USE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_FOLDER_CREATE = Permission( + group=Group.KNOWLEDGE, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_FOLDER_READ = Permission( + group=Group.KNOWLEDGE, operate=Operate.READ, role_list=[RoleConstants.ADMIN, RoleConstants.USER], + resource_permission_group_list=[ResourcePermissionGroup.VIEW] + ) + KNOWLEDGE_FOLDER_EDIT = Permission( + group=Group.KNOWLEDGE, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, RoleConstants.USER], + resource_permission_group_list=[ResourcePermissionGroup.MANAGE] + ) + KNOWLEDGE_FOLDER_DELETE = Permission( + group=Group.KNOWLEDGE, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, RoleConstants.USER], + resource_permission_group_list=[ResourcePermissionGroup.MANAGE] + ) + KNOWLEDGE_READ = Permission( + group=Group.KNOWLEDGE, operate=Operate.READ, role_list=[RoleConstants.ADMIN, RoleConstants.USER], + resource_permission_group_list=[ResourcePermissionGroup.VIEW] + ) + KNOWLEDGE_CREATE = Permission( + group=Group.KNOWLEDGE, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_EDIT = Permission( + group=Group.KNOWLEDGE, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_DELETE = Permission( + group=Group.KNOWLEDGE, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_DOCUMENT_READ = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.READ, + role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_DOCUMENT_CREATE = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.CREATE, + role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_DOCUMENT_EDIT = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_DOCUMENT_DELETE = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_PARAGRAPH_READ = Permission( + group=Group.KNOWLEDGE_PARAGRAPH, operate=Operate.READ, + role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_PARAGRAPH_CREATE = Permission( + group=Group.KNOWLEDGE_PARAGRAPH, operate=Operate.CREATE, + role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_PARAGRAPH_EDIT = Permission( + group=Group.KNOWLEDGE_PARAGRAPH, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_PARAGRAPH_DELETE = Permission( + group=Group.KNOWLEDGE_PARAGRAPH, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_PROBLEM_READ = Permission( + group=Group.KNOWLEDGE_PROBLEM, operate=Operate.READ, + role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_PROBLEM_CREATE = Permission( + group=Group.KNOWLEDGE_PROBLEM, operate=Operate.CREATE, + role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_PROBLEM_EDIT = Permission( + group=Group.KNOWLEDGE_PROBLEM, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + KNOWLEDGE_PROBLEM_DELETE = Permission( + group=Group.KNOWLEDGE_PROBLEM, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, RoleConstants.USER] + ) + WORKSPACE_USER_RESOURCE_PERMISSION_READ = Permission( + group=Group.WORKSPACE_USER_RESOURCE_PERMISSION, operate=Operate.READ, + role_list=[RoleConstants.ADMIN, RoleConstants.WORKSPACE_MANAGE] + ) + EMAIL_SETTING_READ = Permission( + group=Group.USER, operate=Operate.READ, role_list=[RoleConstants.ADMIN] + ) + EMAIL_SETTING_EDIT = Permission( + group=Group.USER, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN] + ) def get_workspace_application_permission(self): return lambda r, kwargs: Permission(group=self.value.group, operate=self.value.operate, diff --git a/apps/knowledge/views/document.py b/apps/knowledge/views/document.py index 3efc4dff6..3c678d2e8 100644 --- a/apps/knowledge/views/document.py +++ b/apps/knowledge/views/document.py @@ -28,7 +28,7 @@ class DocumentView(APIView): responses=DocumentCreateAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_CREATE.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission()) def post(self, request: Request, workspace_id: str, knowledge_id: str): return result.success( DocumentSerializers.Create( @@ -44,7 +44,7 @@ class DocumentView(APIView): responses=DocumentTreeReadAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_READ.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Query( data={ @@ -68,7 +68,7 @@ class DocumentView(APIView): responses=DocumentReadAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_READ.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): operate = DocumentSerializers.Operate(data={ 'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id @@ -85,7 +85,7 @@ class DocumentView(APIView): responses=DocumentEditAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission()) def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(DocumentSerializers.Operate(data={ 'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id @@ -99,7 +99,7 @@ class DocumentView(APIView): responses=DocumentDeleteAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_DELETE.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_DELETE.get_workspace_permission()) def delete(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): operate = DocumentSerializers.Operate(data={ 'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id @@ -122,8 +122,8 @@ class DocumentView(APIView): tags=[_('Knowledge Base/Documentation')] # type: ignore ) @has_permissions([ - PermissionConstants.DOCUMENT_CREATE.get_workspace_permission(), - PermissionConstants.DOCUMENT_EDIT.get_workspace_permission(), + PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission(), + PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission(), ]) def post(self, request: Request, workspace_id: str, knowledge_id: str): split_data = {'file': request.FILES.getlist('file')} @@ -169,7 +169,7 @@ class DocumentView(APIView): responses=BatchEditHitHandlingAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission()) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Batch( data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id} @@ -188,7 +188,7 @@ class DocumentView(APIView): responses=SyncWebAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(DocumentSerializers.Sync( data={'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id} @@ -207,7 +207,7 @@ class DocumentView(APIView): responses=RefreshAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission()) def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(DocumentSerializers.Operate( data={'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id} @@ -225,7 +225,7 @@ class DocumentView(APIView): responses=CancelTaskAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission()) def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(DocumentSerializers.Operate( data={'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id} @@ -243,6 +243,7 @@ class DocumentView(APIView): responses=BatchCancelTaskAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission()) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Batch(data={ 'knowledge_id': knowledge_id, 'workspace_id': workspace_id} @@ -262,8 +263,8 @@ class DocumentView(APIView): tags=[_('Knowledge Base/Documentation')] # type: ignore ) @has_permissions([ - PermissionConstants.DOCUMENT_CREATE.get_workspace_permission(), - PermissionConstants.DOCUMENT_EDIT.get_workspace_permission(), + PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission(), + PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission(), ]) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Batch( @@ -284,8 +285,8 @@ class DocumentView(APIView): tags=[_('Knowledge Base/Documentation')] # type: ignore ) @has_permissions([ - PermissionConstants.DOCUMENT_CREATE.get_workspace_permission(), - PermissionConstants.DOCUMENT_EDIT.get_workspace_permission(), + PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission(), + PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission(), ]) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Batch( @@ -306,8 +307,8 @@ class DocumentView(APIView): tags=[_('Knowledge Base/Documentation')] # type: ignore ) @has_permissions([ - PermissionConstants.DOCUMENT_CREATE.get_workspace_permission(), - PermissionConstants.DOCUMENT_EDIT.get_workspace_permission(), + PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission(), + PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission(), ]) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Batch( @@ -327,8 +328,8 @@ class DocumentView(APIView): tags=[_('Knowledge Base/Documentation')] # type: ignore ) @has_permissions([ - PermissionConstants.DOCUMENT_CREATE.get_workspace_permission(), - PermissionConstants.DOCUMENT_EDIT.get_workspace_permission(), + PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission(), + PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission(), ]) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success( @@ -350,8 +351,8 @@ class DocumentView(APIView): tags=[_('Knowledge Base/Documentation')] # type: ignore ) @has_permissions([ - PermissionConstants.DOCUMENT_CREATE.get_workspace_permission(), - PermissionConstants.DOCUMENT_EDIT.get_workspace_permission(), + PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission(), + PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission(), ]) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.BatchGenerateRelated( @@ -370,7 +371,7 @@ class DocumentView(APIView): responses=DocumentTreeReadAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_READ.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str, current_page: int, page_size: int): return result.success(DocumentSerializers.Query( data={ @@ -397,7 +398,7 @@ class WebDocumentView(APIView): responses=WebDocumentCreateAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_CREATE.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission()) def post(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Create(data={ 'knowledge_id': knowledge_id, 'workspace_id': workspace_id @@ -417,7 +418,7 @@ class QaDocumentView(APIView): responses=QaDocumentCreateAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_CREATE.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission()) def post(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Create(data={ 'knowledge_id': knowledge_id, 'workspace_id': workspace_id @@ -437,7 +438,7 @@ class TableDocumentView(APIView): responses=TableDocumentCreateAPI.get_response(), tags=[_('Knowledge Base/Documentation')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_CREATE.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission()) def post(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Create( data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id} diff --git a/apps/knowledge/views/paragraph.py b/apps/knowledge/views/paragraph.py index 9453b4077..f7fcb9a9b 100644 --- a/apps/knowledge/views/paragraph.py +++ b/apps/knowledge/views/paragraph.py @@ -25,7 +25,7 @@ class ParagraphView(APIView): responses=ParagraphReadAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_READ.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PARAGRAPH_READ.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): q = ParagraphSerializers.Query( data={ @@ -46,7 +46,7 @@ class ParagraphView(APIView): responses=ParagraphCreateAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_CREATE.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PARAGRAPH_CREATE.get_workspace_permission()) def post(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(ParagraphSerializers.Create( data={'workspace_id': workspace_id, 'knowledge_id': knowledge_id, 'document_id': document_id} @@ -65,7 +65,7 @@ class ParagraphView(APIView): responses=ParagraphBatchDeleteAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PARAGRAPH_EDIT.get_workspace_permission()) def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(ParagraphSerializers.Batch( data={'workspace_id': workspace_id, 'knowledge_id': knowledge_id, 'document_id': document_id} @@ -84,7 +84,7 @@ class ParagraphView(APIView): responses=ParagraphBatchGenerateRelatedAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PARAGRAPH_EDIT.get_workspace_permission()) def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(ParagraphSerializers.Batch( data={'workspace_id': workspace_id, 'knowledge_id': knowledge_id, 'document_id': document_id} @@ -103,7 +103,7 @@ class ParagraphView(APIView): responses=ParagraphEditAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PARAGRAPH_EDIT.get_workspace_permission()) def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str): o = ParagraphSerializers.Operate( data={ @@ -125,7 +125,7 @@ class ParagraphView(APIView): responses=ParagraphGetAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PARAGRAPH_EDIT.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str): o = ParagraphSerializers.Operate( data={ @@ -146,7 +146,7 @@ class ParagraphView(APIView): parameters=ParagraphGetAPI.get_parameters(), responses=ParagraphGetAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph')]) # type: ignore - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PARAGRAPH_EDIT.get_workspace_permission()) def delete(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str): o = ParagraphSerializers.Operate( data={ @@ -172,7 +172,7 @@ class ParagraphView(APIView): responses=ProblemCreateAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PARAGRAPH_EDIT.get_workspace_permission()) def post(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str): return result.success(ParagraphSerializers.Problem( data={ @@ -192,7 +192,7 @@ class ParagraphView(APIView): responses=ParagraphGetAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PARAGRAPH_EDIT.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str): return result.success(ParagraphSerializers.Problem( data={ @@ -215,7 +215,7 @@ class ParagraphView(APIView): responses=UnAssociationAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PARAGRAPH_EDIT.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(ParagraphSerializers.Association( data={ @@ -239,7 +239,7 @@ class ParagraphView(APIView): responses=AssociationAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PARAGRAPH_EDIT.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(ParagraphSerializers.Association( data={ @@ -263,7 +263,7 @@ class ParagraphView(APIView): responses=ParagraphPageAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PARAGRAPH_EDIT.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, current_page: int, page_size: int): d = ParagraphSerializers.Query( diff --git a/apps/knowledge/views/problem.py b/apps/knowledge/views/problem.py index acbbc2a42..6ca07eb12 100644 --- a/apps/knowledge/views/problem.py +++ b/apps/knowledge/views/problem.py @@ -25,7 +25,7 @@ class ProblemView(APIView): responses=ProblemReadAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph/Question')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_READ.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str): q = ProblemSerializers.Query( data={ @@ -47,7 +47,7 @@ class ProblemView(APIView): request=ProblemBatchCreateAPI.get_request(), tags=[_('Knowledge Base/Documentation/Paragraph/Question')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_permission()) def post(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(ProblemSerializers.Create( data={'workspace_id': workspace_id, 'knowledge_id': knowledge_id} @@ -64,7 +64,7 @@ class ProblemView(APIView): responses=ProblemParagraphAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph/Question')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str): return result.success(ProblemSerializers.Operate( data={ @@ -87,7 +87,7 @@ class ProblemView(APIView): responses=BatchAssociationAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph/Question')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_permission()) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(ProblemSerializers.BatchOperate( data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id} @@ -106,7 +106,7 @@ class ProblemView(APIView): responses=BatchDeleteAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph/Question')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_permission()) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(ProblemSerializers.BatchOperate( data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id} @@ -124,6 +124,7 @@ class ProblemView(APIView): responses=ProblemDeleteAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph/Question')] # type: ignore ) + @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_DELETE.get_workspace_permission()) def delete(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str): return result.success(ProblemSerializers.Operate( data={ @@ -144,6 +145,7 @@ class ProblemView(APIView): responses=ProblemEditAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph/Question')] # type: ignore ) + @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_permission()) def put(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str): return result.success(ProblemSerializers.Operate( data={ @@ -165,7 +167,7 @@ class ProblemView(APIView): responses=ProblemPageAPI.get_response(), tags=[_('Knowledge Base/Documentation/Paragraph/Question')] # type: ignore ) - @has_permissions(PermissionConstants.DOCUMENT_EDIT.get_workspace_permission()) + @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_READ.get_workspace_permission()) def get(self, request: Request, workspace_id: str, knowledge_id: str, current_page, page_size): d = ProblemSerializers.Query( data={