feat: add user role permissions to workspace operations

This commit is contained in:
CaptainB 2025-06-20 15:12:16 +08:00
parent 961e67e98d
commit c8a5048c7c
6 changed files with 110 additions and 112 deletions

View File

@ -39,7 +39,7 @@ 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',
@ -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(

View File

@ -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,7 +105,7 @@ 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",
@ -129,7 +129,7 @@ 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",
@ -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,7 +210,7 @@ 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",
@ -239,7 +239,7 @@ 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",
@ -268,7 +268,7 @@ 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",
@ -296,7 +296,7 @@ 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",
@ -324,7 +324,7 @@ 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",
@ -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,7 +384,7 @@ 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",
@ -414,7 +414,7 @@ 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",
@ -443,7 +443,7 @@ 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",
@ -474,7 +474,7 @@ 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",
@ -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,7 +528,7 @@ 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",
@ -554,7 +554,7 @@ 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",
@ -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,7 +600,7 @@ 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",
@ -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",
@ -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",
@ -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",

View File

@ -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,7 +60,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()
)
@log(
menu='Knowledge Base', operate="Modify knowledge base information",
@ -84,7 +84,7 @@ 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",
@ -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,7 +157,7 @@ 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",
@ -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,7 +219,7 @@ 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',
@ -243,7 +243,7 @@ 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",
@ -267,7 +267,7 @@ 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",
@ -294,7 +294,7 @@ 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',
@ -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,7 +370,7 @@ 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',
@ -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",

View File

@ -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(

View File

@ -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,7 +54,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()
)
@log(
menu='problem', operate='Create question',
@ -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,7 +105,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()
)
@log(
menu='problem', operate='Batch associated paragraphs',
@ -132,7 +132,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()
)
@log(
menu='problem', operate='Batch deletion issues',
@ -158,7 +158,7 @@ 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',
@ -187,7 +187,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()
)
@log(
menu='problem', operate='Modify question',
@ -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(

View File

@ -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",