diff --git a/apps/common/constants/permission_constants.py b/apps/common/constants/permission_constants.py index 2027a14a2..9582fbdb9 100644 --- a/apps/common/constants/permission_constants.py +++ b/apps/common/constants/permission_constants.py @@ -772,6 +772,62 @@ class PermissionConstants(Enum): group=Group.KNOWLEDGE, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN], parent_group=[SystemGroup.SHARED_KNOWLEDGE] ) + SHARED_KNOWLEDGE_DOCUMENT_READ = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.READ, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_DOCUMENT_CREATE = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_DOCUMENT_EDIT = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_DOCUMENT_DELETE = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_DOCUMENT_SYNC = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.SYNC, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_DOCUMENT_VECTOR = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.VECTOR, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_DOCUMENT_GENERATE = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.GENERATE, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_DOCUMENT_MIGRATE = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.MIGRATE, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_DOCUMENT_EXPORT = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.EXPORT, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE = Permission( + group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.READ, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_PROBLEM_READ = Permission( + group=Group.KNOWLEDGE_PROBLEM, operate=Operate.READ, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_PROBLEM_CREATE = Permission( + group=Group.KNOWLEDGE_PROBLEM, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_PROBLEM_EDIT = Permission( + group=Group.KNOWLEDGE_PROBLEM, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) + SHARED_KNOWLEDGE_PROBLEM_DELETE = Permission( + group=Group.KNOWLEDGE_PROBLEM, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN], + parent_group=[SystemGroup.SHARED_KNOWLEDGE] + ) def get_workspace_application_permission(self): return lambda r, kwargs: Permission(group=self.value.group, operate=self.value.operate, diff --git a/apps/knowledge/urls.py b/apps/knowledge/urls.py index afdf61089..42cb36288 100644 --- a/apps/knowledge/urls.py +++ b/apps/knowledge/urls.py @@ -30,7 +30,7 @@ urlpatterns = [ path('workspace//knowledge//document/batch_hit_handling', views.DocumentView.BatchEditHitHandling.as_view()), path('workspace//knowledge//document/template/export', views.Template.as_view()), path('workspace//knowledge//document/table_template/export', views.TableTemplate.as_view()), - path('workspace//knowledge//document/migrate/target_knowledge_id', views.DocumentView.Migrate.as_view()), + path('workspace//knowledge//document/migrate/', views.DocumentView.Migrate.as_view()), path('workspace//knowledge//document/', views.DocumentView.Operate.as_view()), path('workspace//knowledge//document//sync', views.DocumentView.SyncWeb.as_view()), path('workspace//knowledge//document//refresh', views.DocumentView.Refresh.as_view()), diff --git a/apps/knowledge/views/problem.py b/apps/knowledge/views/problem.py index 7ed29ee4b..9b8942bd0 100644 --- a/apps/knowledge/views/problem.py +++ b/apps/knowledge/views/problem.py @@ -51,7 +51,7 @@ class ProblemView(APIView): ) @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission()) @log(menu='problem', operate='Create question', - get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('dataset_id')) + 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( @@ -94,7 +94,7 @@ class ProblemView(APIView): ) @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission()) @log(menu='problem', operate='Batch associated paragraphs', - get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('dataset_id'))) + 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( data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id} @@ -115,7 +115,7 @@ class ProblemView(APIView): ) @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission()) @log(menu='problem', operate='Batch deletion issues', - get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('dataset_id'))) + 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( data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id} @@ -135,7 +135,7 @@ class ProblemView(APIView): ) @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_DELETE.get_workspace_knowledge_permission()) @log(menu='problem', operate='Delete question', - get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('dataset_id'))) + 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( data={ @@ -158,7 +158,7 @@ class ProblemView(APIView): ) @has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission()) @log(menu='problem', operate='Modify question', - get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('dataset_id'))) + 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( data={