Skip to content

Commit 7998133

Browse files
committed
feat: update permission constants for knowledge documents and problems to include resource permission groups
1 parent 0ca2c72 commit 7998133

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

apps/common/constants/permission_constants.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,72 +369,87 @@ class PermissionConstants(Enum):
369369
KNOWLEDGE_DOCUMENT_READ = Permission(
370370
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.READ,
371371
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
372+
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
372373
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
373374
)
374375
KNOWLEDGE_DOCUMENT_CREATE = Permission(
375376
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.CREATE,
376377
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
378+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
377379
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
378380
)
379381
KNOWLEDGE_DOCUMENT_EDIT = Permission(
380382
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, RoleConstants.USER],
383+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
381384
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
382385
)
383386
KNOWLEDGE_DOCUMENT_DELETE = Permission(
384387
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, RoleConstants.USER],
388+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
385389
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
386390
)
387391
KNOWLEDGE_DOCUMENT_SYNC = Permission(
388392
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.SYNC, role_list=[RoleConstants.ADMIN, RoleConstants.USER],
393+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
389394
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
390395
)
391396
KNOWLEDGE_DOCUMENT_EXPORT = Permission(
392397
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.EXPORT,
393398
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
399+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
394400
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
395401
)
396-
KNOWLEDGE_DOCUMENT_DOWNLOAD_RAW = Permission(
402+
KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE = Permission(
397403
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.EXPORT,
398404
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
405+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
399406
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
400407
)
401408
KNOWLEDGE_DOCUMENT_GENERATE = Permission(
402409
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.GENERATE,
403410
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
411+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
404412
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
405413
)
406414
KNOWLEDGE_DOCUMENT_VECTOR = Permission(
407415
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.VECTOR,
408416
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
417+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
409418
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
410419
)
411420
KNOWLEDGE_DOCUMENT_MIGRATE = Permission(
412421
group=Group.KNOWLEDGE_DOCUMENT, operate=Operate.MIGRATE,
413422
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
423+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
414424
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
415425
)
416426

417427
KNOWLEDGE_PROBLEM_READ = Permission(
418428
group=Group.KNOWLEDGE_PROBLEM, operate=Operate.READ,
419429
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
430+
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
420431
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
421432
)
422433
KNOWLEDGE_PROBLEM_CREATE = Permission(
423434
group=Group.KNOWLEDGE_PROBLEM, operate=Operate.CREATE,
424435
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
436+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
425437
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
426438
)
427439
KNOWLEDGE_PROBLEM_EDIT = Permission(
428440
group=Group.KNOWLEDGE_PROBLEM, operate=Operate.EDIT, role_list=[RoleConstants.ADMIN, RoleConstants.USER],
441+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
429442
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
430443
)
431444
KNOWLEDGE_PROBLEM_DELETE = Permission(
432445
group=Group.KNOWLEDGE_PROBLEM, operate=Operate.DELETE, role_list=[RoleConstants.ADMIN, RoleConstants.USER],
446+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
433447
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
434448
)
435449
KNOWLEDGE_PROBLEM_RELATE = Permission(
436450
group=Group.KNOWLEDGE_PROBLEM, operate=Operate.RELATE,
437451
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
452+
resource_permission_group_list=[ResourcePermissionGroup.VIEW, ResourcePermissionGroup.MANAGE],
438453
parent_group=[WorkspaceGroup.KNOWLEDGE, UserGroup.KNOWLEDGE]
439454
)
440455
WORKSPACE_USER_RESOURCE_PERMISSION_READ = Permission(

apps/knowledge/views/document.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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_knowledge_permission())
430+
@has_permissions(PermissionConstants.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.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

0 commit comments

Comments
 (0)