Skip to content

Commit 2fccb9d

Browse files
committed
feat: add shared document and paragraph views with related permissions
1 parent 66d4b6c commit 2fccb9d

File tree

3 files changed

+62
-6
lines changed

3 files changed

+62
-6
lines changed

apps/common/constants/permission_constants.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -772,6 +772,62 @@ class PermissionConstants(Enum):
772772
group=Group.KNOWLEDGE, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN],
773773
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
774774
)
775+
SHARED_KNOWLEDGE_DOCUMENT_READ = Permission(
776+
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.READ, role_list=[RoleConstants.ADMIN],
777+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
778+
)
779+
SHARED_KNOWLEDGE_DOCUMENT_CREATE = Permission(
780+
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN],
781+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
782+
)
783+
SHARED_KNOWLEDGE_DOCUMENT_EDIT = Permission(
784+
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN],
785+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
786+
)
787+
SHARED_KNOWLEDGE_DOCUMENT_DELETE = Permission(
788+
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN],
789+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
790+
)
791+
SHARED_KNOWLEDGE_DOCUMENT_SYNC = Permission(
792+
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.SYNC, role_list=[RoleConstants.ADMIN],
793+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
794+
)
795+
SHARED_KNOWLEDGE_DOCUMENT_VECTOR = Permission(
796+
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.VECTOR, role_list=[RoleConstants.ADMIN],
797+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
798+
)
799+
SHARED_KNOWLEDGE_DOCUMENT_GENERATE = Permission(
800+
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.GENERATE, role_list=[RoleConstants.ADMIN],
801+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
802+
)
803+
SHARED_KNOWLEDGE_DOCUMENT_MIGRATE = Permission(
804+
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.MIGRATE, role_list=[RoleConstants.ADMIN],
805+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
806+
)
807+
SHARED_KNOWLEDGE_DOCUMENT_EXPORT = Permission(
808+
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.EXPORT, role_list=[RoleConstants.ADMIN],
809+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
810+
)
811+
SHARED_KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE = Permission(
812+
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.READ, role_list=[RoleConstants.ADMIN],
813+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
814+
)
815+
SHARED_KNOWLEDGE_PROBLEM_READ = Permission(
816+
group=Group.KNOWLEDGE_PROBLEM, operate=Operate.READ, role_list=[RoleConstants.ADMIN],
817+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
818+
)
819+
SHARED_KNOWLEDGE_PROBLEM_CREATE = Permission(
820+
group=Group.KNOWLEDGE_PROBLEM, operate=Operate.CREATE, role_list=[RoleConstants.ADMIN],
821+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
822+
)
823+
SHARED_KNOWLEDGE_PROBLEM_EDIT = Permission(
824+
group=Group.KNOWLEDGE_PROBLEM, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN],
825+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
826+
)
827+
SHARED_KNOWLEDGE_PROBLEM_DELETE = Permission(
828+
group=Group.KNOWLEDGE_PROBLEM, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN],
829+
parent_group=[SystemGroup.SHARED_KNOWLEDGE]
830+
)
775831

776832
def get_workspace_application_permission(self):
777833
return lambda r, kwargs: Permission(group=self.value.group, operate=self.value.operate,

apps/knowledge/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/batch_hit_handling', views.DocumentView.BatchEditHitHandling.as_view()),
3131
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/template/export', views.Template.as_view()),
3232
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/table_template/export', views.TableTemplate.as_view()),
33-
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/migrate/target_knowledge_id', views.DocumentView.Migrate.as_view()),
33+
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/migrate/<str:target_knowledge_id>', views.DocumentView.Migrate.as_view()),
3434
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/<str:document_id>', views.DocumentView.Operate.as_view()),
3535
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/<str:document_id>/sync', views.DocumentView.SyncWeb.as_view()),
3636
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/<str:document_id>/refresh', views.DocumentView.Refresh.as_view()),

apps/knowledge/views/problem.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def get(self, request: Request, workspace_id: str, knowledge_id: str):
5151
)
5252
@has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission())
5353
@log(menu='problem', operate='Create question',
54-
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('dataset_id'))
54+
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id'))
5555
)
5656
def post(self, request: Request, workspace_id: str, knowledge_id: str):
5757
return result.success(ProblemSerializers.Create(
@@ -94,7 +94,7 @@ class BatchAssociation(APIView):
9494
)
9595
@has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission())
9696
@log(menu='problem', operate='Batch associated paragraphs',
97-
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('dataset_id')))
97+
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')))
9898
def put(self, request: Request, workspace_id: str, knowledge_id: str):
9999
return result.success(ProblemSerializers.BatchOperate(
100100
data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
@@ -115,7 +115,7 @@ class BatchDelete(APIView):
115115
)
116116
@has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission())
117117
@log(menu='problem', operate='Batch deletion issues',
118-
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('dataset_id')))
118+
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')))
119119
def put(self, request: Request, workspace_id: str, knowledge_id: str):
120120
return result.success(ProblemSerializers.BatchOperate(
121121
data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
@@ -135,7 +135,7 @@ class Operate(APIView):
135135
)
136136
@has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_DELETE.get_workspace_knowledge_permission())
137137
@log(menu='problem', operate='Delete question',
138-
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('dataset_id')))
138+
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')))
139139
def delete(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str):
140140
return result.success(ProblemSerializers.Operate(
141141
data={
@@ -158,7 +158,7 @@ def delete(self, request: Request, workspace_id: str, knowledge_id: str, problem
158158
)
159159
@has_permissions(PermissionConstants.KNOWLEDGE_PROBLEM_EDIT.get_workspace_knowledge_permission())
160160
@log(menu='problem', operate='Modify question',
161-
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('dataset_id')))
161+
get_operation_object=lambda r, keywords: get_knowledge_operation_object(keywords.get('knowledge_id')))
162162
def put(self, request: Request, workspace_id: str, knowledge_id: str, problem_id: str):
163163
return result.success(ProblemSerializers.Operate(
164164
data={

0 commit comments

Comments
 (0)