From c8a5048c7c6a5f3d8ea82df0e89723941af26e5d Mon Sep 17 00:00:00 2001 From: CaptainB Date: Fri, 20 Jun 2025 15:12:16 +0800 Subject: [PATCH] feat: add user role permissions to workspace operations --- apps/folders/views/folder.py | 14 +++--- apps/knowledge/views/document.py | 82 +++++++++++++++---------------- apps/knowledge/views/knowledge.py | 48 +++++++++--------- apps/knowledge/views/paragraph.py | 28 +++++------ apps/knowledge/views/problem.py | 26 +++++----- apps/tools/views/tool.py | 24 ++++----- 6 files changed, 110 insertions(+), 112 deletions(-) diff --git a/apps/folders/views/folder.py b/apps/folders/views/folder.py index 337ec6b8d..abccd4939 100644 --- a/apps/folders/views/folder.py +++ b/apps/folders/views/folder.py @@ -39,12 +39,12 @@ class FolderView(APIView): @has_permissions( lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.CREATE, resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='folder', operate='Create folder', get_operation_object=lambda r, k: {'name': r.data.get('name')}, - + ) def post(self, request: Request, workspace_id: str, source: str): return result.success(FolderSerializer.Create( @@ -65,7 +65,7 @@ class FolderView(APIView): @has_permissions( lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.READ, resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, source: str): return result.success(FolderTreeSerializer( @@ -88,12 +88,11 @@ class FolderView(APIView): @has_permissions( lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.EDIT, resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='folder', operate='Edit folder', get_operation_object=lambda r, k: get_folder_operation_object(k.get('folder_id'), k.get('source')), - ) def put(self, request: Request, workspace_id: str, source: str, folder_id: str): return result.success(FolderSerializer.Operate( @@ -112,7 +111,7 @@ class FolderView(APIView): @has_permissions( lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.READ, resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, source: str, folder_id: str): return result.success(FolderSerializer.Operate( @@ -131,12 +130,11 @@ class FolderView(APIView): @has_permissions( lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.DELETE, resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='folder', operate='Delete folder', get_operation_object=lambda r, k: get_folder_operation_object(k.get('folder_id'), k.get('source')), - ) def delete(self, request: Request, workspace_id: str, source: str, folder_id: str): return result.success(FolderSerializer.Operate( diff --git a/apps/knowledge/views/document.py b/apps/knowledge/views/document.py index d0a8f6a97..e97c2e35e 100644 --- a/apps/knowledge/views/document.py +++ b/apps/knowledge/views/document.py @@ -35,7 +35,7 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log(menu='document', operate="Create document", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( @@ -58,7 +58,7 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Query( @@ -85,7 +85,7 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): operate = DocumentSerializers.Operate(data={ @@ -105,14 +105,14 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Modify document", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object(keywords.get('document_id')) - ), + ), ) def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(DocumentSerializers.Operate(data={ @@ -129,14 +129,14 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_DELETE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Delete document", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object(keywords.get('document_id')) - ), + ), ) def delete(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): operate = DocumentSerializers.Operate(data={ @@ -162,7 +162,7 @@ class DocumentView(APIView): @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(), PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def post(self, request: Request, workspace_id: str, knowledge_id: str): split_data = {'file': request.FILES.getlist('file')} @@ -210,14 +210,14 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Modify document hit processing methods in batches", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object_batch(r.data.get('id_list'))), - + ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Batch( @@ -239,14 +239,14 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_SYNC.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Synchronize web site types", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object(keywords.get('document_id')) - ), + ), ) def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(DocumentSerializers.Sync( @@ -268,14 +268,14 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_VECTOR.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Refresh document vector library", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object(keywords.get('document_id')) - ), + ), ) def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(DocumentSerializers.Operate( @@ -296,14 +296,14 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Cancel task", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object(keywords.get('document_id')) - ), + ), ) def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(DocumentSerializers.Operate( @@ -324,14 +324,14 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Cancel tasks in batches", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object_batch(r.data.get('id_list')) - ), + ), ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Batch(data={ @@ -354,7 +354,7 @@ class DocumentView(APIView): @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(), PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Create documents in batches", @@ -384,14 +384,14 @@ class DocumentView(APIView): @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_SYNC.get_workspace_knowledge_permission(), PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Batch sync documents", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object_batch(r.data.get('id_list'))), - + ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Batch( @@ -414,14 +414,14 @@ class DocumentView(APIView): @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_DELETE.get_workspace_knowledge_permission(), PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Delete documents in batches", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object_batch(r.data.get('id_list'))), - + ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Batch( @@ -443,14 +443,14 @@ class DocumentView(APIView): @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_VECTOR.get_workspace_knowledge_permission(), PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Batch refresh document vector library", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object_batch(r.data.get('id_list')) - ), + ), ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success( @@ -474,14 +474,14 @@ class DocumentView(APIView): @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_GENERATE.get_workspace_knowledge_permission(), PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Batch generate related documents", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object_batch(r.data.get('document_id_list')) - ), + ), ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.BatchGenerateRelated( @@ -502,7 +502,7 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, knowledge_id: str, current_page: int, page_size: int): return result.success(DocumentSerializers.Query( @@ -528,14 +528,14 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EXPORT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Export document", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object(keywords.get('document_id')) - ), + ), ) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return DocumentSerializers.Operate(data={ @@ -554,14 +554,14 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EXPORT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Export Zip document", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object(keywords.get('document_id')) - ), + ), ) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return DocumentSerializers.Operate(data={ @@ -580,7 +580,7 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return DocumentSerializers.Operate(data={ @@ -600,14 +600,14 @@ class DocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_MIGRATE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Migrate documents in batches", get_operation_object=lambda r, keywords: get_knowledge_document_operation_object( get_knowledge_operation_object(keywords.get('knowledge_id')), get_document_operation_object_batch(r.data) - ), + ), ) def put(self, request: Request, workspace_id, knowledge_id: str, target_knowledge_id: str): return result.success(DocumentSerializers.Migrate( @@ -634,7 +634,7 @@ class WebDocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Create Web site documents", @@ -642,7 +642,7 @@ class WebDocumentView(APIView): get_knowledge_operation_object(keywords.get('knowledge_id')), {'name': f'[{",".join([url for url in r.data.get("source_url_list", [])])}]', 'document_list': [{'name': url} for url in r.data.get("source_url_list", [])]}), - + ) def post(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Create(data={ @@ -665,7 +665,7 @@ class QaDocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Import QA and create documentation", @@ -673,7 +673,7 @@ class QaDocumentView(APIView): get_knowledge_operation_object(keywords.get('knowledge_id')), {'name': f'[{",".join([file.name for file in r.FILES.getlist("file")])}]', 'document_list': [{'name': file.name} for file in r.FILES.getlist("file")]}), - + ) def post(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Create(data={ @@ -696,7 +696,7 @@ class TableDocumentView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate="Import tables and create documents", @@ -704,7 +704,7 @@ class TableDocumentView(APIView): get_knowledge_operation_object(keywords.get('knowledge_id')), {'name': f'[{",".join([file.name for file in r.FILES.getlist("file")])}]', 'document_list': [{'name': file.name} for file in r.FILES.getlist("file")]}), - + ) def post(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(DocumentSerializers.Create( diff --git a/apps/knowledge/views/knowledge.py b/apps/knowledge/views/knowledge.py index 20868bf72..b6abed2ff 100644 --- a/apps/knowledge/views/knowledge.py +++ b/apps/knowledge/views/knowledge.py @@ -31,7 +31,7 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_READ.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str): return result.success(KnowledgeSerializer.Query( @@ -60,12 +60,12 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Knowledge Base', operate="Modify knowledge base information", get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')), - + ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(KnowledgeSerializer.Operate( @@ -84,12 +84,12 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DELETE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Knowledge Base', operate="Delete knowledge base", get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')), - + ) def delete(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(KnowledgeSerializer.Operate( @@ -107,7 +107,7 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_READ.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(KnowledgeSerializer.Operate( @@ -128,7 +128,7 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_READ.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, current_page: int, page_size: int): return result.success(KnowledgeSerializer.Query( @@ -157,12 +157,12 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_SYNC.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Knowledge Base', operate="Synchronize the knowledge base of the website", get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')), - + ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(KnowledgeSerializer.SyncWeb( @@ -189,7 +189,7 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(KnowledgeSerializer.HitTest( @@ -219,12 +219,12 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_VECTOR.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Knowledge Base', operate='Re-vectorize', get_operation_object=lambda r, k: get_knowledge_operation_object(k.get('knowledge_id')), - + ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(KnowledgeSerializer.Operate( @@ -243,12 +243,12 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_EXPORT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Knowledge Base', operate="Export knowledge base", get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')), - + ) def get(self, request: Request, workspace_id: str, knowledge_id: str): return KnowledgeSerializer.Operate(data={ @@ -267,12 +267,12 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_EXPORT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Knowledge Base', operate="Export knowledge base containing images", get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')), - + ) def get(self, request: Request, workspace_id: str, knowledge_id: str): return KnowledgeSerializer.Operate(data={ @@ -294,12 +294,12 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_GENERATE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='document', operate='Generate related documents', get_operation_object=lambda r, k: get_knowledge_operation_object(k.get('knowledge_id')), - + ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(KnowledgeSerializer.Operate( @@ -320,7 +320,7 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_EDIT.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str): return result.success(ModelSerializer.Query( @@ -344,7 +344,7 @@ class KnowledgeView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_EDIT.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str): return result.success(ModelSerializer.Query( @@ -370,12 +370,12 @@ class KnowledgeBaseView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_CREATE.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='knowledge Base', operate='Create base knowledge', get_operation_object=lambda r, k: {'name': r.data.get('name'), 'desc': r.data.get('desc')}, - + ) def post(self, request: Request, workspace_id: str): return result.success(KnowledgeSerializer.Create( @@ -398,7 +398,7 @@ class KnowledgeWebView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_CREATE.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Knowledge Base', operate="Create a web site knowledge base", @@ -407,7 +407,7 @@ class KnowledgeWebView(APIView): 'meta': {'source_url': r.data.get('source_url'), 'selector': r.data.get('selector'), 'embedding_model_id': r.data.get('embedding_model_id')}} - , + , ) def post(self, request: Request, workspace_id: str): return result.success(KnowledgeSerializer.Create( diff --git a/apps/knowledge/views/paragraph.py b/apps/knowledge/views/paragraph.py index c2c48a917..cd5b3c8c1 100644 --- a/apps/knowledge/views/paragraph.py +++ b/apps/knowledge/views/paragraph.py @@ -30,7 +30,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): q = ParagraphSerializers.Query( @@ -54,7 +54,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Paragraph', operate='Create Paragraph', @@ -83,7 +83,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(ParagraphSerializers.Batch( @@ -103,7 +103,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_MIGRATE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Paragraph', operate='Migrate paragraphs in batches', @@ -139,7 +139,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_GENERATE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Paragraph', operate='Batch generate related', @@ -168,7 +168,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Paragraph', operate='Modify paragraph data', @@ -200,7 +200,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str): o = ParagraphSerializers.Operate( @@ -224,7 +224,7 @@ class ParagraphView(APIView): tags=[_('Knowledge Base/Documentation/Paragraph')]) # type: ignore @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Paragraph', operate='Delete paragraph', @@ -260,7 +260,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Paragraph', operate='Add associated questions', @@ -290,7 +290,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, paragraph_id: str): return result.success(ParagraphSerializers.Problem( @@ -317,7 +317,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Paragraph', operate='Disassociation issue', @@ -352,7 +352,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Paragraph', operate='Related questions', @@ -386,7 +386,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str, current_page: int, page_size: int): @@ -416,7 +416,7 @@ class ParagraphView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str): return result.success(ParagraphSerializers.AdjustPosition( diff --git a/apps/knowledge/views/problem.py b/apps/knowledge/views/problem.py index 86d58a8d0..0787443ee 100644 --- a/apps/knowledge/views/problem.py +++ b/apps/knowledge/views/problem.py @@ -29,7 +29,7 @@ class ProblemView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_PROBLEM_READ.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, knowledge_id: str): q = ProblemSerializers.Query( @@ -54,12 +54,12 @@ class ProblemView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='problem', operate='Create question', get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')) - , + , ) def post(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(ProblemSerializers.Create( @@ -79,7 +79,7 @@ class ProblemView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str): return result.success(ProblemSerializers.Operate( @@ -105,12 +105,12 @@ class ProblemView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='problem', operate='Batch associated paragraphs', get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')), - + ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(ProblemSerializers.BatchOperate( @@ -132,12 +132,12 @@ class ProblemView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='problem', operate='Batch deletion issues', get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')), - + ) def put(self, request: Request, workspace_id: str, knowledge_id: str): return result.success(ProblemSerializers.BatchOperate( @@ -158,12 +158,12 @@ class ProblemView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_PROBLEM_DELETE.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='problem', operate='Delete question', get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')), - + ) def delete(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str): return result.success(ProblemSerializers.Operate( @@ -187,12 +187,12 @@ class ProblemView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='problem', operate='Modify question', get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')), - + ) def put(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str): return result.success(ProblemSerializers.Operate( @@ -217,7 +217,7 @@ class ProblemView(APIView): ) @has_permissions( PermissionConstants.KNOWLEDGE_PROBLEM_READ.get_workspace_knowledge_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str, knowledge_id: str, current_page, page_size): d = ProblemSerializers.Query( diff --git a/apps/tools/views/tool.py b/apps/tools/views/tool.py index c0f7355e1..fed20c0a8 100644 --- a/apps/tools/views/tool.py +++ b/apps/tools/views/tool.py @@ -40,7 +40,7 @@ class ToolView(APIView): ) @has_permissions( PermissionConstants.TOOL_CREATE.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu="Tool", operate="Create tool", @@ -62,7 +62,7 @@ class ToolView(APIView): ) @has_permissions( PermissionConstants.TOOL_READ.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def get(self, request: Request, workspace_id: str): return result.success(ToolTreeSerializer( @@ -83,7 +83,7 @@ class ToolView(APIView): ) @has_permissions( PermissionConstants.TOOL_DEBUG.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def post(self, request: Request, workspace_id: str): return result.success(ToolSerializer.Debug( @@ -105,7 +105,7 @@ class ToolView(APIView): ) @has_permissions( PermissionConstants.TOOL_EDIT.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Tool', operate='Update tool', @@ -128,7 +128,7 @@ class ToolView(APIView): ) @has_permissions( PermissionConstants.TOOL_READ.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log(menu='Tool', operate='Get tool') def get(self, request: Request, workspace_id: str, tool_id: str): @@ -147,7 +147,7 @@ class ToolView(APIView): ) @has_permissions( PermissionConstants.TOOL_DELETE.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Tool', operate="Delete tool", @@ -173,7 +173,7 @@ class ToolView(APIView): ) @has_permissions( PermissionConstants.TOOL_READ.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log(menu='Tool', operate='Get tool list') def get(self, request: Request, workspace_id: str, current_page: int, page_size: int): @@ -202,7 +202,7 @@ class ToolView(APIView): ) @has_permissions( PermissionConstants.TOOL_IMPORT.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log(menu='Tool', operate='Import tool', ) def post(self, request: Request, workspace_id: str): @@ -224,7 +224,7 @@ class ToolView(APIView): ) @has_permissions( PermissionConstants.TOOL_EXPORT.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Tool', operate="Export tool", @@ -251,7 +251,7 @@ class ToolView(APIView): @has_permissions( PermissionConstants.TOOL_CREATE.get_workspace_permission(), PermissionConstants.TOOL_EDIT.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def post(self, request: Request, workspace_id: str): return result.success(ToolSerializer.Pylint( @@ -274,7 +274,7 @@ class ToolView(APIView): ) @has_permissions( PermissionConstants.TOOL_EDIT.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) def put(self, request: Request, tool_id: str, workspace_id: str): return result.success(ToolSerializer.IconOperate(data={ @@ -317,7 +317,7 @@ class ToolView(APIView): ) @has_permissions( PermissionConstants.TOOL_CREATE.get_workspace_permission(), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role() ) @log( menu='Tool', operate="Add internal tool",