From 5afaac6ced97c3387638e5b5ccd655d5d5e22bcc Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Mon, 7 Sep 2026 16:24:48 +0800 Subject: [PATCH] feat: enhance role management with improved permission structure and category mapping --- .../auth/constants/permission_constants.py | 259 ++++++++++-------- apps/common/auth/struct/permission.py | 4 +- ui/src/api/admin/system/role.ts | 10 +- ui/src/api/types/system-role.ts | 10 +- .../system/identity/roles/RoleListView.vue | 6 +- .../RolePermissionConfiguration.vue | 33 ++- 6 files changed, 192 insertions(+), 130 deletions(-) diff --git a/apps/common/auth/constants/permission_constants.py b/apps/common/auth/constants/permission_constants.py index 9565a111ae5..cb30da125b6 100644 --- a/apps/common/auth/constants/permission_constants.py +++ b/apps/common/auth/constants/permission_constants.py @@ -104,7 +104,7 @@ class PermissionConstants(Enum): KNOWLEDGE = ( Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.SELF, bit_index=0), PermissionMeta( - role_list=[RoleConstants.ADMIN, RoleConstants.USER], + role_list=[], category=Category.RESOURCE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -113,7 +113,7 @@ class PermissionConstants(Enum): APPLICATION = ( Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.SELF, bit_index=0), PermissionMeta( - role_list=[RoleConstants.ADMIN, RoleConstants.USER], + role_list=[], category=Category.RESOURCE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -121,12 +121,12 @@ class PermissionConstants(Enum): MODEL = ( Permission(group=Group.MODEL, sub_group=Group.MODEL, operate=Operate.SELF, bit_index=0), - PermissionMeta(role_list=[RoleConstants.ADMIN, RoleConstants.USER], category=Category.RESOURCE), + PermissionMeta(role_list=[], category=Category.RESOURCE), ) TOOL = ( Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.SELF, bit_index=0), - PermissionMeta(role_list=[RoleConstants.ADMIN, RoleConstants.USER], category=Category.RESOURCE), + PermissionMeta(role_list=[], category=Category.RESOURCE), ) # ==================== 用户管理 ==================== @@ -224,7 +224,7 @@ class PermissionConstants(Enum): Permission(group=Group.MODEL, sub_group=Group.MODEL, operate=Operate.READ, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.MODEL_VIEW], ), @@ -234,7 +234,7 @@ class PermissionConstants(Enum): Permission(group=Group.MODEL, sub_group=Group.MODEL, operate=Operate.CREATE, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE], resource_permission_group_list=[ResourcePermissionConst.MODEL_MANAGE], ), @@ -244,7 +244,7 @@ class PermissionConstants(Enum): Permission(group=Group.MODEL, sub_group=Group.MODEL, operate=Operate.EDIT, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.MODEL_MANAGE], ), @@ -254,7 +254,7 @@ class PermissionConstants(Enum): Permission(group=Group.MODEL, sub_group=Group.MODEL, operate=Operate.DELETE, bit_index=4), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.MODEL_MANAGE], ), @@ -264,7 +264,7 @@ class PermissionConstants(Enum): Permission(group=Group.MODEL, sub_group=Group.MODEL, operate=Operate.AUTH, bit_index=5), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.MODEL_MANAGE], ), @@ -274,7 +274,7 @@ class PermissionConstants(Enum): Permission(group=Group.MODEL, sub_group=Group.MODEL, operate=Operate.RELATE_VIEW, bit_index=6), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.MODEL_MANAGE], ), @@ -331,7 +331,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.READ, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_VIEW], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -341,7 +341,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.CREATE, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE], ), @@ -351,7 +351,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.BATCH_MOVE, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -361,7 +361,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.BATCH_DELETE, bit_index=4), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -371,7 +371,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.EDIT, bit_index=5), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -381,7 +381,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.DELETE, bit_index=6), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -391,7 +391,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.IMPORT, bit_index=7), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -401,7 +401,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.EXPORT, bit_index=8), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -411,7 +411,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.AUTH, bit_index=9), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -421,7 +421,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.RELATE_VIEW, bit_index=10), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -431,7 +431,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.PUBLISH, bit_index=11), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -441,7 +441,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.RECORD, bit_index=12), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -452,7 +452,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.TRIGGER_READ, bit_index=13), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -462,7 +462,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.TRIGGER_CREATE, bit_index=14), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_VIEW], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -472,7 +472,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.TRIGGER_EDIT, bit_index=15), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_VIEW], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -482,7 +482,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.TOOL, operate=Operate.TRIGGER_DELETE, bit_index=16), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_VIEW], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -493,7 +493,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.FOLDER, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_VIEW], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -503,7 +503,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.FOLDER, operate=Operate.CREATE, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE], ), @@ -513,7 +513,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.FOLDER, operate=Operate.EDIT, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -523,7 +523,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.FOLDER, operate=Operate.DELETE, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -533,7 +533,7 @@ class PermissionConstants(Enum): Permission(group=Group.TOOL, sub_group=Group.FOLDER, operate=Operate.AUTH, bit_index=4), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.TOOL_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -544,7 +544,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.READ, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_VIEW], ), @@ -554,7 +554,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.CREATE, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_VIEW], ), @@ -564,7 +564,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.EDIT, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -574,7 +574,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.DELETE, bit_index=4), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -584,7 +584,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.SYNC, bit_index=5), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -594,7 +594,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.EXPORT, bit_index=6), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -604,7 +604,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.VECTOR, bit_index=7), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -614,7 +614,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.GENERATE, bit_index=8), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -624,7 +624,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.BATCH_DELETE, bit_index=9), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -634,7 +634,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.BATCH_MOVE, bit_index=10), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -644,7 +644,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.AUTH, bit_index=11), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -654,7 +654,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.KNOWLEDGE, operate=Operate.RELATE_VIEW, bit_index=12), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -665,7 +665,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.FOLDER, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_VIEW], ), @@ -675,7 +675,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.FOLDER, operate=Operate.CREATE, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -685,7 +685,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.FOLDER, operate=Operate.EDIT, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -695,7 +695,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.FOLDER, operate=Operate.DELETE, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -705,7 +705,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.FOLDER, operate=Operate.AUTH, bit_index=4), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -716,7 +716,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.WORKFLOW, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_VIEW], ), @@ -726,7 +726,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.WORKFLOW, operate=Operate.EDIT, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -736,7 +736,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.WORKFLOW, operate=Operate.EXPORT, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -746,7 +746,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.WORKFLOW, operate=Operate.PUBLISH, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], ), @@ -757,7 +757,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_VIEW], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -767,7 +767,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.CREATE, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE], ), @@ -777,7 +777,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.EDIT, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -787,7 +787,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.DELETE, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -797,7 +797,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.SYNC, bit_index=4), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -807,7 +807,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.EXPORT, bit_index=5), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -817,7 +817,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.DOWNLOAD, bit_index=6), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -827,7 +827,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.GENERATE, bit_index=7), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -837,7 +837,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.VECTOR, bit_index=8), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -847,7 +847,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.MIGRATE, bit_index=9), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -857,7 +857,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.TAG, bit_index=10), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -867,7 +867,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.REPLACE, bit_index=11), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -877,7 +877,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.DOCUMENT, operate=Operate.TOKEN, bit_index=12), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_VIEW], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -888,7 +888,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.HIT_TEST, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_VIEW], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -899,7 +899,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.PROBLEM, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_VIEW], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -909,7 +909,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.PROBLEM, operate=Operate.CREATE, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE], ), @@ -919,7 +919,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.PROBLEM, operate=Operate.EDIT, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -929,7 +929,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.PROBLEM, operate=Operate.DELETE, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -939,7 +939,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.PROBLEM, operate=Operate.RELATE, bit_index=4), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -950,7 +950,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.TERMBASE, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_VIEW], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -960,7 +960,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.TERMBASE, operate=Operate.CREATE, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE], ), @@ -970,7 +970,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.TERMBASE, operate=Operate.EDIT, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -980,7 +980,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.TERMBASE, operate=Operate.DELETE, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -991,7 +991,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.TAG, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -1001,7 +1001,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.TAG, operate=Operate.CREATE, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE], ), @@ -1011,7 +1011,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.TAG, operate=Operate.EDIT, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -1021,7 +1021,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.TAG, operate=Operate.DELETE, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -1032,7 +1032,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.CHAT_USER, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_VIEW], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -1042,7 +1042,7 @@ class PermissionConstants(Enum): Permission(group=Group.KNOWLEDGE, sub_group=Group.CHAT_USER, operate=Operate.EDIT, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, resource_permission_group_list=[ResourcePermissionConst.KNOWLEDGE_MANAGE], scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), @@ -1288,7 +1288,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.READ, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_VIEW], ), @@ -1298,7 +1298,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.CREATE, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1308,7 +1308,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.COPY, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1318,7 +1318,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.EDIT, bit_index=4), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1328,7 +1328,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.DELETE, bit_index=5), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1338,7 +1338,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.IMPORT, bit_index=6), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1348,7 +1348,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.EXPORT, bit_index=7), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1358,7 +1358,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.PUBLISH, bit_index=8), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1368,7 +1368,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.BATCH_DELETE, bit_index=9), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1378,7 +1378,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.BATCH_MOVE, bit_index=10), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1388,7 +1388,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.AUTH, bit_index=11), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1398,7 +1398,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.RELATE_VIEW, bit_index=12), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1409,7 +1409,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.TRIGGER_READ, bit_index=13), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), ) @@ -1418,7 +1418,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.TRIGGER_CREATE, bit_index=14), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE], ), ) @@ -1427,7 +1427,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.TRIGGER_EDIT, bit_index=15), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), ) @@ -1436,7 +1436,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.APPLICATION, operate=Operate.TRIGGER_DELETE, bit_index=16), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], ), ) @@ -1446,7 +1446,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.FOLDER, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_VIEW], ), @@ -1456,7 +1456,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.FOLDER, operate=Operate.CREATE, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1466,7 +1466,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.FOLDER, operate=Operate.EDIT, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1476,7 +1476,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.FOLDER, operate=Operate.DELETE, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1486,7 +1486,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.FOLDER, operate=Operate.AUTH, bit_index=4), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1497,7 +1497,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.OVERVIEW, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_VIEW], ), @@ -1507,7 +1507,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.OVERVIEW, operate=Operate.EMBED, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1517,7 +1517,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.OVERVIEW, operate=Operate.ACCESS, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1527,7 +1527,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.OVERVIEW, operate=Operate.DISPLAY, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1537,7 +1537,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.OVERVIEW, operate=Operate.API_KEY, bit_index=4), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1547,7 +1547,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.OVERVIEW, operate=Operate.PUBLIC_ACCESS, bit_index=5), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1558,7 +1558,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.ACCESS, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_VIEW], ), @@ -1568,7 +1568,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.ACCESS, operate=Operate.EDIT, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1579,7 +1579,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.CHAT_USER, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_VIEW], ), @@ -1589,7 +1589,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.CHAT_USER, operate=Operate.EDIT, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1600,7 +1600,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.CHAT_LOG, operate=Operate.READ, bit_index=0), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_VIEW], ), @@ -1610,7 +1610,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.CHAT_LOG, operate=Operate.ANNOTATION, bit_index=1), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1620,7 +1620,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.CHAT_LOG, operate=Operate.EXPORT, bit_index=2), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1630,7 +1630,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.CHAT_LOG, operate=Operate.CLEAR_POLICY, bit_index=3), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1640,7 +1640,7 @@ class PermissionConstants(Enum): Permission(group=Group.APPLICATION, sub_group=Group.CHAT_LOG, operate=Operate.ADD_KNOWLEDGE, bit_index=4), PermissionMeta( role_list=[RoleConstants.WORKSPACE_MANAGE, RoleConstants.USER], - category=Category.RESOURCE, + category=Category.WORKSPACE, scope=[PermissionScopeConstants.WORKSPACE_RESOURCE], resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANAGE], ), @@ -1653,6 +1653,11 @@ class PermissionConstants(Enum): role_list=[RoleConstants.ADMIN, RoleConstants.USER, RoleConstants.WORKSPACE_MANAGE], category=Category.SYSTEM_SETTING, scope=[PermissionScopeConstants.SYSTEM], + role_category_map={ + RoleConstants.ADMIN.name: Category.SYSTEM_SETTING, + RoleConstants.USER.name: Category.OTHER, + RoleConstants.WORKSPACE_MANAGE.name: Category.OTHER, + }, ), ) @@ -1671,6 +1676,11 @@ class PermissionConstants(Enum): role_list=[RoleConstants.ADMIN, RoleConstants.USER, RoleConstants.WORKSPACE_MANAGE], category=Category.SYSTEM_SETTING, scope=[PermissionScopeConstants.SYSTEM], + role_category_map={ + RoleConstants.ADMIN.name: Category.SYSTEM_SETTING, + RoleConstants.USER.name: Category.OTHER, + RoleConstants.WORKSPACE_MANAGE.name: Category.OTHER, + }, ), ) @@ -1680,6 +1690,11 @@ class PermissionConstants(Enum): role_list=[RoleConstants.ADMIN, RoleConstants.USER, RoleConstants.WORKSPACE_MANAGE], category=Category.SYSTEM_SETTING, scope=[PermissionScopeConstants.SYSTEM], + role_category_map={ + RoleConstants.ADMIN.name: Category.SYSTEM_SETTING, + RoleConstants.USER.name: Category.OTHER, + RoleConstants.WORKSPACE_MANAGE.name: Category.OTHER, + }, ), ) @@ -1689,6 +1704,11 @@ class PermissionConstants(Enum): role_list=[RoleConstants.ADMIN, RoleConstants.USER, RoleConstants.WORKSPACE_MANAGE], category=Category.SYSTEM_SETTING, scope=[PermissionScopeConstants.SYSTEM], + role_category_map={ + RoleConstants.ADMIN.name: Category.SYSTEM_SETTING, + RoleConstants.USER.name: Category.OTHER, + RoleConstants.WORKSPACE_MANAGE.name: Category.OTHER, + }, ), ) @@ -1698,6 +1718,11 @@ class PermissionConstants(Enum): role_list=[RoleConstants.ADMIN, RoleConstants.USER, RoleConstants.WORKSPACE_MANAGE], category=Category.SYSTEM_SETTING, scope=[PermissionScopeConstants.SYSTEM], + role_category_map={ + RoleConstants.ADMIN.name: Category.SYSTEM_SETTING, + RoleConstants.USER.name: Category.OTHER, + RoleConstants.WORKSPACE_MANAGE.name: Category.OTHER, + }, ), ) diff --git a/apps/common/auth/struct/permission.py b/apps/common/auth/struct/permission.py index 22ae43f2b04..8f0e93148d4 100644 --- a/apps/common/auth/struct/permission.py +++ b/apps/common/auth/struct/permission.py @@ -51,7 +51,9 @@ class PermissionMeta: category: Optional[Category] = None resource_permission_group_list: Optional[list] = None scope: list[PermissionScopeConstants] = field(default_factory=list) - is_ee: bool = False + is_ee: bool = True + # 角色 -> 分类 覆盖表;未列出的角色默认归入 OTHER + role_category_map: Optional[dict] = None @dataclass(frozen=True) diff --git a/ui/src/api/admin/system/role.ts b/ui/src/api/admin/system/role.ts index 7cda1e82ef1..314c65a1d14 100644 --- a/ui/src/api/admin/system/role.ts +++ b/ui/src/api/admin/system/role.ts @@ -1,12 +1,18 @@ import { del, get, post } from '../core/request' import type { ParamsPage, ResponsePage } from '../core/types' -import type { CreateRoleMembersRequest, Dict, RoleItem, RoleMember, RolePermissionModule, RolePayload, SaveRolePermissionRequest } from '@/api/types' +import type { CreateRoleMembersRequest, Dict, RoleItem, RoleMember, RolePermissionModule, RolePayload, RoleType, SaveRolePermissionRequest } from '@/api/types' const prefix = '/system/role' /** 获取内置角色与自定义角色列表。 */ const getRoleList = () => { - return get<{ internal_role: RoleItem[]; custom_role: RoleItem[] }>(prefix) + return get<{ internal_role: RoleItem[]; custom_role: RoleItem[] } | Array<{ role_type: RoleType; role_list: RoleItem[] }>>(prefix).then((data) => { + if (Array.isArray(data)) { + // 后端按角色类型分组返回 { role_type, role_list },展平为扁平角色数组 + return data.flatMap((group) => group.role_list ?? []) + } + return [...(data.internal_role ?? []), ...(data.custom_role ?? [])] + }) } /** 创建或重命名自定义角色。 */ diff --git a/ui/src/api/types/system-role.ts b/ui/src/api/types/system-role.ts index 6a69c1a8eba..d8c17ecd80f 100644 --- a/ui/src/api/types/system-role.ts +++ b/ui/src/api/types/system-role.ts @@ -20,16 +20,22 @@ export interface RolePermission { export interface RolePermissionFeature { id: string name: string - enable: boolean + enable?: boolean permission: RolePermission[] } -export interface RolePermissionModule { +export interface RolePermissionModuleGroup { id: string name: string children: RolePermissionFeature[] } +export interface RolePermissionModule { + id: string + name: string + children: RolePermissionModuleGroup[] +} + export interface RolePayload { role_id?: string role_name: string diff --git a/ui/src/views/system/identity/roles/RoleListView.vue b/ui/src/views/system/identity/roles/RoleListView.vue index c04c11a3b12..2edfe57b22f 100644 --- a/ui/src/views/system/identity/roles/RoleListView.vue +++ b/ui/src/views/system/identity/roles/RoleListView.vue @@ -30,10 +30,10 @@ const roleGroups = computed(() => { function loadRoles(selectedRoleId?: string) { loadingRoles.value = true return RoleApi.getRoleList() - .then(({ internal_role, custom_role }) => { - AllRoles.value = [...internal_role, ...custom_role] + .then((roles) => { + AllRoles.value = roles currentRole.value = - AllRoles.value.find(({ id }) => id === selectedRoleId) ?? AllRoles.value.find(({ id }) => id === currentRole.value?.id) ?? internal_role[0] + AllRoles.value.find(({ id }) => id === selectedRoleId) ?? AllRoles.value.find(({ id }) => id === currentRole.value?.id) ?? AllRoles.value[0] }) .finally(() => { loadingRoles.value = false diff --git a/ui/src/views/system/identity/roles/components/RolePermissionConfiguration.vue b/ui/src/views/system/identity/roles/components/RolePermissionConfiguration.vue index f9095725a40..315a0fdaa06 100644 --- a/ui/src/views/system/identity/roles/components/RolePermissionConfiguration.vue +++ b/ui/src/views/system/identity/roles/components/RolePermissionConfiguration.vue @@ -6,6 +6,8 @@ import { MsgSuccess } from '@/utils/message' interface PermissionTableRow { id: string + categoryId: string + category: string moduleId: string module: string name: string @@ -30,15 +32,35 @@ function loadPermissions() { } function transformPermissions(modules: RolePermissionModule[]) { - return modules.flatMap((module) => - module.children.map((feature) => ({ id: `${module.id}:${feature.id}`, moduleId: module.id, module: module.name, name: feature.name, permissions: feature.permission })), + // 后端返回 分类(category) → 分组(group) → 叶子(feature) → 权限 的结构, + // 分类 → “分类”列,分组 → “模块名称”列,叶子 → “操作对象”列,向下展平为表格行 + return modules.flatMap((category) => + category.children.flatMap((group) => + group.children.map((feature) => ({ + id: `${category.id}:${group.id}:${feature.id}`, + categoryId: category.id, + category: category.name, + moduleId: `${category.id}:${group.id}`, + module: group.name, + name: feature.name, + permissions: feature.permission, + })), + ), ) } function permissionTableSpan({ row, rowIndex, columnIndex }: { row: PermissionTableRow; rowIndex: number; columnIndex: number }) { - if (columnIndex !== 0) return [1, 1] - const firstRowIndex = permissionData.value.findIndex(({ moduleId }) => moduleId === row.moduleId) - return rowIndex === firstRowIndex ? [permissionData.value.filter(({ moduleId }) => moduleId === row.moduleId).length, 1] : [0, 0] + if (columnIndex === 0) { + // “分类”列按分类纵向合并 + const firstRowIndex = permissionData.value.findIndex(({ categoryId }) => categoryId === row.categoryId) + return rowIndex === firstRowIndex ? [permissionData.value.filter(({ categoryId }) => categoryId === row.categoryId).length, 1] : [0, 0] + } + if (columnIndex === 1) { + // “模块名称”列按分组纵向合并 + const firstRowIndex = permissionData.value.findIndex(({ moduleId }) => moduleId === row.moduleId) + return rowIndex === firstRowIndex ? [permissionData.value.filter(({ moduleId }) => moduleId === row.moduleId).length, 1] : [0, 0] + } + return [1, 1] } /* 单项权限与查看权限联动 */ @@ -96,6 +118,7 @@ watch(() => props.currentRole.id, loadPermissions, { immediate: true }) :data="permissionData" v-loading="loading" > +