mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 18:32:48 +00:00
feat: add shared document and paragraph views with related permissions
This commit is contained in:
parent
66d4b6c81a
commit
2fccb9db67
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ urlpatterns = [
|
|||
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/batch_hit_handling', views.DocumentView.BatchEditHitHandling.as_view()),
|
||||
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/template/export', views.Template.as_view()),
|
||||
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/table_template/export', views.TableTemplate.as_view()),
|
||||
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/migrate/target_knowledge_id', views.DocumentView.Migrate.as_view()),
|
||||
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/migrate/<str:target_knowledge_id>', views.DocumentView.Migrate.as_view()),
|
||||
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/<str:document_id>', views.DocumentView.Operate.as_view()),
|
||||
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/<str:document_id>/sync', views.DocumentView.SyncWeb.as_view()),
|
||||
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/<str:document_id>/refresh', views.DocumentView.Refresh.as_view()),
|
||||
|
|
|
|||
|
|
@ -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={
|
||||
|
|
|
|||
Loading…
Reference in New Issue