Skip to content

Commit 6cb3ae7

Browse files
committed
feat: update permission checks to use workspace knowledge permissions for document and knowledge operations
1 parent 74ce98c commit 6cb3ae7

File tree

5 files changed

+65
-62
lines changed

5 files changed

+65
-62
lines changed

apps/knowledge/views/document.py

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class DocumentView(APIView):
2929
responses=DocumentCreateAPI.get_response(),
3030
tags=[_('Knowledge Base/Documentation')] # type: ignore
3131
)
32-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission())
32+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission())
3333
def post(self, request: Request, workspace_id: str, knowledge_id: str):
3434
return result.success(
3535
DocumentSerializers.Create(
@@ -45,7 +45,7 @@ def post(self, request: Request, workspace_id: str, knowledge_id: str):
4545
responses=DocumentTreeReadAPI.get_response(),
4646
tags=[_('Knowledge Base/Documentation')] # type: ignore
4747
)
48-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_permission())
48+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_knowledge_permission())
4949
def get(self, request: Request, workspace_id: str, knowledge_id: str):
5050
return result.success(DocumentSerializers.Query(
5151
data={
@@ -69,7 +69,7 @@ class Operate(APIView):
6969
responses=DocumentReadAPI.get_response(),
7070
tags=[_('Knowledge Base/Documentation')] # type: ignore
7171
)
72-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_permission())
72+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_knowledge_permission())
7373
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
7474
operate = DocumentSerializers.Operate(data={
7575
'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id
@@ -86,7 +86,7 @@ def get(self, request: Request, workspace_id: str, knowledge_id: str, document_i
8686
responses=DocumentEditAPI.get_response(),
8787
tags=[_('Knowledge Base/Documentation')] # type: ignore
8888
)
89-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission())
89+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission())
9090
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
9191
return result.success(DocumentSerializers.Operate(data={
9292
'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id
@@ -100,7 +100,7 @@ def put(self, request: Request, workspace_id: str, knowledge_id: str, document_i
100100
responses=DocumentDeleteAPI.get_response(),
101101
tags=[_('Knowledge Base/Documentation')] # type: ignore
102102
)
103-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_DELETE.get_workspace_permission())
103+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_DELETE.get_workspace_knowledge_permission())
104104
def delete(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
105105
operate = DocumentSerializers.Operate(data={
106106
'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id
@@ -123,8 +123,8 @@ class Split(APIView):
123123
tags=[_('Knowledge Base/Documentation')] # type: ignore
124124
)
125125
@has_permissions(
126-
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission(),
127-
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission(),
126+
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(),
127+
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
128128
)
129129
def post(self, request: Request, workspace_id: str, knowledge_id: str):
130130
split_data = {'file': request.FILES.getlist('file')}
@@ -170,7 +170,7 @@ class BatchEditHitHandling(APIView):
170170
responses=BatchEditHitHandlingAPI.get_response(),
171171
tags=[_('Knowledge Base/Documentation')] # type: ignore
172172
)
173-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission())
173+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission())
174174
def put(self, request: Request, workspace_id: str, knowledge_id: str):
175175
return result.success(DocumentSerializers.Batch(
176176
data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
@@ -189,7 +189,7 @@ class SyncWeb(APIView):
189189
responses=SyncWebAPI.get_response(),
190190
tags=[_('Knowledge Base/Documentation')] # type: ignore
191191
)
192-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_SYNC.get_workspace_permission())
192+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_SYNC.get_workspace_knowledge_permission())
193193
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
194194
return result.success(DocumentSerializers.Sync(
195195
data={'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
@@ -208,7 +208,7 @@ class Refresh(APIView):
208208
responses=RefreshAPI.get_response(),
209209
tags=[_('Knowledge Base/Documentation')] # type: ignore
210210
)
211-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_VECTOR.get_workspace_permission())
211+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_VECTOR.get_workspace_knowledge_permission())
212212
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
213213
return result.success(DocumentSerializers.Operate(
214214
data={'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
@@ -226,7 +226,7 @@ class CancelTask(APIView):
226226
responses=CancelTaskAPI.get_response(),
227227
tags=[_('Knowledge Base/Documentation')] # type: ignore
228228
)
229-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission())
229+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission())
230230
def put(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
231231
return result.success(DocumentSerializers.Operate(
232232
data={'document_id': document_id, 'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
@@ -244,7 +244,7 @@ class BatchCancelTask(APIView):
244244
responses=BatchCancelTaskAPI.get_response(),
245245
tags=[_('Knowledge Base/Documentation')] # type: ignore
246246
)
247-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission())
247+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission())
248248
def put(self, request: Request, workspace_id: str, knowledge_id: str):
249249
return result.success(DocumentSerializers.Batch(data={
250250
'knowledge_id': knowledge_id, 'workspace_id': workspace_id}
@@ -264,8 +264,8 @@ class BatchCreate(APIView):
264264
tags=[_('Knowledge Base/Documentation')] # type: ignore
265265
)
266266
@has_permissions(
267-
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission(),
268-
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission(),
267+
PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission(),
268+
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
269269
)
270270
def put(self, request: Request, workspace_id: str, knowledge_id: str):
271271
return result.success(DocumentSerializers.Batch(
@@ -286,8 +286,8 @@ class BatchSync(APIView):
286286
tags=[_('Knowledge Base/Documentation')] # type: ignore
287287
)
288288
@has_permissions(
289-
PermissionConstants.KNOWLEDGE_DOCUMENT_SYNC.get_workspace_permission(),
290-
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission(),
289+
PermissionConstants.KNOWLEDGE_DOCUMENT_SYNC.get_workspace_knowledge_permission(),
290+
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
291291
)
292292
def put(self, request: Request, workspace_id: str, knowledge_id: str):
293293
return result.success(DocumentSerializers.Batch(
@@ -308,8 +308,8 @@ class BatchDelete(APIView):
308308
tags=[_('Knowledge Base/Documentation')] # type: ignore
309309
)
310310
@has_permissions(
311-
PermissionConstants.KNOWLEDGE_DOCUMENT_DELETE.get_workspace_permission(),
312-
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission(),
311+
PermissionConstants.KNOWLEDGE_DOCUMENT_DELETE.get_workspace_knowledge_permission(),
312+
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
313313
)
314314
def put(self, request: Request, workspace_id: str, knowledge_id: str):
315315
return result.success(DocumentSerializers.Batch(
@@ -329,8 +329,8 @@ class BatchRefresh(APIView):
329329
tags=[_('Knowledge Base/Documentation')] # type: ignore
330330
)
331331
@has_permissions(
332-
PermissionConstants.KNOWLEDGE_DOCUMENT_VECTOR.get_workspace_permission(),
333-
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission(),
332+
PermissionConstants.KNOWLEDGE_DOCUMENT_VECTOR.get_workspace_knowledge_permission(),
333+
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
334334
)
335335
def put(self, request: Request, workspace_id: str, knowledge_id: str):
336336
return result.success(
@@ -352,8 +352,8 @@ class BatchGenerateRelated(APIView):
352352
tags=[_('Knowledge Base/Documentation')] # type: ignore
353353
)
354354
@has_permissions(
355-
PermissionConstants.KNOWLEDGE_DOCUMENT_GENERATE.get_workspace_permission(),
356-
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_permission(),
355+
PermissionConstants.KNOWLEDGE_DOCUMENT_GENERATE.get_workspace_knowledge_permission(),
356+
PermissionConstants.KNOWLEDGE_DOCUMENT_EDIT.get_workspace_knowledge_permission(),
357357
)
358358
def put(self, request: Request, workspace_id: str, knowledge_id: str):
359359
return result.success(DocumentSerializers.BatchGenerateRelated(
@@ -372,7 +372,7 @@ class Page(APIView):
372372
responses=DocumentTreeReadAPI.get_response(),
373373
tags=[_('Knowledge Base/Documentation')] # type: ignore
374374
)
375-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_permission())
375+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_READ.get_workspace_knowledge_permission())
376376
def get(self, request: Request, workspace_id: str, knowledge_id: str, current_page: int, page_size: int):
377377
return result.success(DocumentSerializers.Query(
378378
data={
@@ -395,7 +395,7 @@ class Export(APIView):
395395
responses=DocumentExportAPI.get_response(),
396396
tags=[_('Knowledge Base/Documentation')] # type: ignore
397397
)
398-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EXPORT.get_workspace_permission())
398+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EXPORT.get_workspace_knowledge_permission())
399399
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
400400
return DocumentSerializers.Operate(data={
401401
'workspace_id': workspace_id, 'document_id': document_id, 'knowledge_id': knowledge_id
@@ -411,7 +411,7 @@ class ExportZip(APIView):
411411
responses=DocumentExportAPI.get_response(),
412412
tags=[_('Knowledge Base/Documentation')] # type: ignore
413413
)
414-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EXPORT.get_workspace_permission())
414+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_EXPORT.get_workspace_knowledge_permission())
415415
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
416416
return DocumentSerializers.Operate(data={
417417
'workspace_id': workspace_id, 'document_id': document_id, 'knowledge_id': knowledge_id
@@ -427,7 +427,7 @@ class DownloadSourceFile(APIView):
427427
responses=DocumentDownloadSourceAPI.get_response(),
428428
tags=[_('Knowledge Base/Documentation')] # type: ignore
429429
)
430-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_DOWNLOAD_RAW.get_workspace_permission())
430+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_DOWNLOAD_RAW.get_workspace_knowledge_permission())
431431
def get(self, request: Request, workspace_id: str, knowledge_id: str, document_id: str):
432432
return DocumentSerializers.Operate(data={
433433
'workspace_id': workspace_id, 'document_id': document_id, 'knowledge_id': knowledge_id
@@ -444,7 +444,7 @@ class Migrate(APIView):
444444
responses=DocumentMigrateAPI.get_response(),
445445
tags=[_('Knowledge Base/Documentation')] # type: ignore
446446
)
447-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_MIGRATE.get_workspace_permission())
447+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_MIGRATE.get_workspace_knowledge_permission())
448448
def put(self, request: Request, workspace_id, knowledge_id: str, target_knowledge_id: str):
449449
return result.success(DocumentSerializers.Migrate(
450450
data={
@@ -468,7 +468,7 @@ class WebDocumentView(APIView):
468468
responses=WebDocumentCreateAPI.get_response(),
469469
tags=[_('Knowledge Base/Documentation')] # type: ignore
470470
)
471-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission())
471+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission())
472472
def post(self, request: Request, workspace_id: str, knowledge_id: str):
473473
return result.success(DocumentSerializers.Create(data={
474474
'knowledge_id': knowledge_id, 'workspace_id': workspace_id
@@ -488,7 +488,7 @@ class QaDocumentView(APIView):
488488
responses=QaDocumentCreateAPI.get_response(),
489489
tags=[_('Knowledge Base/Documentation')] # type: ignore
490490
)
491-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission())
491+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission())
492492
def post(self, request: Request, workspace_id: str, knowledge_id: str):
493493
return result.success(DocumentSerializers.Create(data={
494494
'knowledge_id': knowledge_id, 'workspace_id': workspace_id
@@ -508,7 +508,7 @@ class TableDocumentView(APIView):
508508
responses=TableDocumentCreateAPI.get_response(),
509509
tags=[_('Knowledge Base/Documentation')] # type: ignore
510510
)
511-
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_permission())
511+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_CREATE.get_workspace_knowledge_permission())
512512
def post(self, request: Request, workspace_id: str, knowledge_id: str):
513513
return result.success(DocumentSerializers.Create(
514514
data={'knowledge_id': knowledge_id, 'workspace_id': workspace_id}

0 commit comments

Comments
 (0)