feat: System common user permission by resource authorization

This commit is contained in:
zhangzhanwei 2025-07-02 16:41:22 +08:00 committed by zhanweizhang7
parent b5efa495bf
commit 3b4b658934
8 changed files with 126 additions and 57 deletions

View File

@ -1,11 +1,11 @@
import { hasPermission } from '@/utils/permission/index'
import { PermissionConst, RoleConst } from '@/utils/permission/data'
import { ComplexPermission } from '@/utils/permission/type'
const workspace = {
create: () =>
hasPermission(
[
RoleConst.ADMIN,
RoleConst.USER.getWorkspaceRole,
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_CREATE.getWorkspacePermission,
@ -16,7 +16,7 @@ const workspace = {
edit: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_EDIT.getApplicationWorkspaceResourcePermission(source_id)
@ -26,7 +26,7 @@ const workspace = {
export: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_EXPORT.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_EXPORT.getApplicationWorkspaceResourcePermission(source_id)
@ -36,7 +36,7 @@ const workspace = {
delete: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_DELETE.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_DELETE.getApplicationWorkspaceResourcePermission(source_id)
@ -46,7 +46,7 @@ const workspace = {
overview_embed: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_OVERVIEW_EMBEDDED.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_OVERVIEW_EMBEDDED.getApplicationWorkspaceResourcePermission(source_id)
@ -55,8 +55,7 @@ const workspace = {
),
overview_access: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
[new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_OVERVIEW_ACCESS.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_OVERVIEW_ACCESS.getApplicationWorkspaceResourcePermission(source_id)
@ -68,7 +67,7 @@ const workspace = {
overview_display: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_OVERVIEW_DISPLAY.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_OVERVIEW_DISPLAY.getApplicationWorkspaceResourcePermission(source_id)
@ -78,7 +77,7 @@ const workspace = {
overview_api_key: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_OVERVIEW_API_KEY.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_OVERVIEW_API_KEY.getApplicationWorkspaceResourcePermission(source_id)
@ -88,7 +87,7 @@ const workspace = {
access_edit: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_ACCESS_EDIT.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_ACCESS_EDIT.getApplicationWorkspaceResourcePermission(source_id)
@ -98,7 +97,7 @@ const workspace = {
application_chat_user_edit: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_CHAT_USER_EDIT.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_CHAT_USER_EDIT.getApplicationWorkspaceResourcePermission(source_id)
@ -108,7 +107,7 @@ const workspace = {
chat_log_clear: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_CHAT_LOG_CLEAR_POLICY.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_CHAT_LOG_CLEAR_POLICY.getApplicationWorkspaceResourcePermission(source_id)
@ -118,7 +117,7 @@ const workspace = {
chat_log_export: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_CHAT_LOG_EXPORT.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_CHAT_LOG_EXPORT.getApplicationWorkspaceResourcePermission(source_id)
@ -128,7 +127,7 @@ const workspace = {
chat_log_add_knowledge: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_CHAT_LOG_ADD_KNOWLEDGE.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_CHAT_LOG_ADD_KNOWLEDGE.getApplicationWorkspaceResourcePermission(source_id)

View File

@ -23,6 +23,7 @@ const workspace = {
sync: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
@ -32,6 +33,7 @@ const workspace = {
vector: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole,
@ -41,6 +43,7 @@ const workspace = {
generate: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_GENERATE.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_GENERATE.getWorkspacePermissionWorkspaceManageRole,
@ -50,6 +53,7 @@ const workspace = {
setting: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_EDIT.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermissionWorkspaceManageRole,
@ -59,6 +63,7 @@ const workspace = {
export: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_EXPORT.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_EXPORT.getWorkspacePermissionWorkspaceManageRole,
@ -68,6 +73,7 @@ const workspace = {
delete: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DELETE.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DELETE.getWorkspacePermissionWorkspaceManageRole,
@ -77,6 +83,7 @@ const workspace = {
doc_create: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole,
@ -86,6 +93,7 @@ const workspace = {
doc_vector: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole,
@ -95,6 +103,7 @@ const workspace = {
doc_generate: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getWorkspacePermissionWorkspaceManageRole,
@ -104,6 +113,7 @@ const workspace = {
doc_migrate: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getWorkspacePermissionWorkspaceManageRole,
@ -113,6 +123,7 @@ const workspace = {
doc_edit: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getWorkspacePermissionWorkspaceManageRole,
@ -122,6 +133,7 @@ const workspace = {
doc_sync: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
@ -131,6 +143,7 @@ const workspace = {
doc_delete: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getWorkspacePermissionWorkspaceManageRole,
@ -140,6 +153,7 @@ const workspace = {
doc_export: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getWorkspacePermissionWorkspaceManageRole,
@ -149,6 +163,7 @@ const workspace = {
doc_download: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.getWorkspacePermissionWorkspaceManageRole,
@ -158,6 +173,7 @@ const workspace = {
knowledge_chat_user_edit: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_CHAT_USER_EDIT.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_CHAT_USER_EDIT.getWorkspacePermissionWorkspaceManageRole,
@ -167,6 +183,7 @@ const workspace = {
problem_create: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getWorkspacePermissionWorkspaceManageRole,
@ -176,6 +193,7 @@ const workspace = {
problem_relate: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getWorkspacePermissionWorkspaceManageRole,
@ -185,6 +203,7 @@ const workspace = {
problem_delete: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getWorkspacePermissionWorkspaceManageRole,

View File

@ -23,6 +23,7 @@ const workspace = {
modify: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.MODEL.getModelWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.MODEL_EDIT.getModelWorkspaceResourcePermission(source_id),
PermissionConst.MODEL_EDIT.getWorkspacePermissionWorkspaceManageRole
@ -32,7 +33,7 @@ const workspace = {
paramSetting: (source_id:string) =>
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
new ComplexPermission([RoleConst.USER],[PermissionConst.MODEL.getModelWorkspaceResourcePermission(source_id)],[],'AND'),
PermissionConst.MODEL_EDIT.getModelWorkspaceResourcePermission(source_id),
PermissionConst.MODEL_EDIT.getWorkspacePermissionWorkspaceManageRole
],
@ -41,7 +42,7 @@ const workspace = {
delete: (source_id:string) =>
hasPermission(
[
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
new ComplexPermission([RoleConst.USER],[PermissionConst.MODEL.getModelWorkspaceResourcePermission(source_id)],[],'AND'),
PermissionConst.MODEL_DELETE.getModelWorkspaceResourcePermission(source_id),
PermissionConst.MODEL_DELETE.getWorkspacePermissionWorkspaceManageRole
],

View File

@ -24,6 +24,7 @@ const workspace = {
delete: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.TOOL_DELETE.getToolWorkspaceResourcePermission(source_id),
PermissionConst.TOOL_DELETE.getWorkspacePermissionWorkspaceManageRole
@ -33,6 +34,7 @@ const workspace = {
switch: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.TOOL_EDIT.getToolWorkspaceResourcePermission(source_id),
PermissionConst.TOOL_EDIT.getWorkspacePermissionWorkspaceManageRole
@ -42,6 +44,7 @@ const workspace = {
edit: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.TOOL_EDIT.getToolWorkspaceResourcePermission(source_id),
PermissionConst.TOOL_EDIT.getWorkspacePermissionWorkspaceManageRole
@ -51,8 +54,8 @@ const workspace = {
copy: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
PermissionConst.TOOL_EXPORT.getToolWorkspaceResourcePermission(source_id),
PermissionConst.TOOL_EXPORT.getWorkspacePermissionWorkspaceManageRole
],
@ -61,8 +64,8 @@ const workspace = {
export: (source_id:string) =>
hasPermission(
[
new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
PermissionConst.TOOL_EXPORT.getToolWorkspaceResourcePermission(source_id),
PermissionConst.TOOL_EXPORT.getWorkspacePermissionWorkspaceManageRole
],
@ -70,9 +73,9 @@ const workspace = {
),
debug: (source_id:string) =>
hasPermission(
[
[
new ComplexPermission([RoleConst.USER],[PermissionConst.TOOL.getToolWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
RoleConst.USER.getWorkspaceRole,
PermissionConst.TOOL_DEBUG.getToolWorkspaceResourcePermission(source_id),
PermissionConst.TOOL_DEBUG.getWorkspacePermissionWorkspaceManageRole
],

View File

@ -2,6 +2,7 @@ import { SourceTypeEnum } from '@/enums/common'
import { get_next_route } from '@/utils/permission'
import { PermissionConst, RoleConst } from '@/utils/permission/data'
import { ComplexPermission } from '@/utils/permission/type'
const ApplicationDetailRouter = {
path: '/application/:id/:type',
@ -21,7 +22,10 @@ const ApplicationDetailRouter = {
parentPath: '/application/:id/:type',
parentName: 'ApplicationDetail',
permission: [
RoleConst.ADMIN,
() => {
const to: any = get_next_route()
return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')},
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_OVERVIEW_READ.getWorkspacePermissionWorkspaceManageRole,
() => {
@ -45,7 +49,9 @@ const ApplicationDetailRouter = {
parentPath: '/application/:id/:type',
parentName: 'ApplicationDetail',
permission: [
RoleConst.ADMIN,
() => {
const to: any = get_next_route()
return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')},
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole,
() => {
@ -69,7 +75,9 @@ const ApplicationDetailRouter = {
parentPath: '/application/:id/:type',
parentName: 'ApplicationDetail',
permission: [
RoleConst.ADMIN,
() => {
const to: any = get_next_route()
return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')},
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_ACCESS_READ.getWorkspacePermissionWorkspaceManageRole,
() => {
@ -94,7 +102,9 @@ const ApplicationDetailRouter = {
parentName: 'ApplicationDetail',
resourceType: SourceTypeEnum.APPLICATION,
permission: [
RoleConst.ADMIN,
() => {
const to: any = get_next_route()
return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')},
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole,
() => {
@ -118,7 +128,9 @@ const ApplicationDetailRouter = {
parentPath: '/application/:id/:type',
parentName: 'ApplicationDetail',
permission: [
RoleConst.ADMIN,
() => {
const to: any = get_next_route()
return new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission( to ? to.params.id : '',)],[],'AND')},
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_CHAT_LOG_READ.getWorkspacePermissionWorkspaceManageRole,
() => {

View File

@ -6,7 +6,6 @@ const applicationRouter = {
title: 'views.application.title',
menu: true,
permission: [
RoleConst.ADMIN,
RoleConst.USER.getWorkspaceRole,
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_READ.getWorkspacePermissionWorkspaceManageRole,

View File

@ -21,12 +21,16 @@ const DocumentRouter = {
parentName: 'KnowledgeDetail',
group: 'KnowledgeDetail',
permission: [
RoleConst.ADMIN,
() => {
const to: any = get_next_route()
if (to.params.folder_id == 'shared') {
return RoleConst.ADMIN
}else {
if (to.params.folderId == 'shared') { return RoleConst.ADMIN }
else { return new ComplexPermission([RoleConst.USER], [PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(to ? to.params.id : '',)], [], 'AND') }
},
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') {
return RoleConst.ADMIN
} else {
return RoleConst.WORKSPACE_MANAGE.getWorkspaceRole
}
},
@ -35,14 +39,16 @@ const DocumentRouter = {
if (to.params.folderId == 'shared') {
return PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_READ } else {
return PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_READ
} else {
return PermissionConst.KNOWLEDGE_DOCUMENT_READ.getKnowledgeWorkspaceResourcePermission(
to ? to.params.id : '',
)}
to ? to.params.id : '',
)
}
},
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared'){ return RoleConst.ADMIN } else {
if (to.params.folderId == 'shared') { return RoleConst.ADMIN } else {
return PermissionConst.KNOWLEDGE_DOCUMENT_READ.getWorkspacePermissionWorkspaceManageRole
}
}
@ -62,16 +68,22 @@ const DocumentRouter = {
parentName: 'KnowledgeDetail',
group: 'KnowledgeDetail',
permission: [
RoleConst.ADMIN,
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') { return RoleConst.ADMIN }
else { return new ComplexPermission([RoleConst.USER], [PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(to ? to.params.id : '',)], [], 'AND') }
},
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') { return RoleConst.ADMIN } else { return RoleConst.WORKSPACE_MANAGE.getWorkspaceRole }
},
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') { return PermissionConst.SHARED_KNOWLEDGE_PROBLEM_READ } else { return PermissionConst.KNOWLEDGE_PROBLEM_READ.getKnowledgeWorkspaceResourcePermission(
to ? to.params.id : '',
) }
if (to.params.folderId == 'shared') { return PermissionConst.SHARED_KNOWLEDGE_PROBLEM_READ } else {
return PermissionConst.KNOWLEDGE_PROBLEM_READ.getKnowledgeWorkspaceResourcePermission(
to ? to.params.id : '',
)
}
},
() => {
const to: any = get_next_route()
@ -92,16 +104,22 @@ const DocumentRouter = {
parentName: 'KnowledgeDetail',
group: 'KnowledgeDetail',
permission: [
RoleConst.ADMIN,
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') { return RoleConst.ADMIN }
else { return new ComplexPermission([RoleConst.USER], [PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(to ? to.params.id : '',)], [], 'AND') }
},
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') { return RoleConst.ADMIN } else { return RoleConst.WORKSPACE_MANAGE.getWorkspaceRole }
},
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') { return PermissionConst.SHARED_KNOWLEDGE_HIT_TEST_READ } else { return PermissionConst.KNOWLEDGE_HIT_TEST_READ.getKnowledgeWorkspaceResourcePermission(
to ? to.params.id : '',
) }
if (to.params.folderId == 'shared') { return PermissionConst.SHARED_KNOWLEDGE_HIT_TEST_READ } else {
return PermissionConst.KNOWLEDGE_HIT_TEST_READ.getKnowledgeWorkspaceResourcePermission(
to ? to.params.id : '',
)
}
},
() => {
const to: any = get_next_route()
@ -123,15 +141,15 @@ const DocumentRouter = {
parentName: 'KnowledgeDetail',
resourceType: SourceTypeEnum.KNOWLEDGE,
group: 'KnowledgeDetail',
permission: new ComplexPermission([ RoleConst.ADMIN,
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') {
return RoleConst.ADMIN
} else {
return RoleConst.WORKSPACE_MANAGE.getWorkspaceRole()
}
},],[
permission: [new ComplexPermission([RoleConst.ADMIN,
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') {
return RoleConst.ADMIN
} else {
return RoleConst.WORKSPACE_MANAGE.getWorkspaceRole()
}
},], [
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') {
@ -145,10 +163,16 @@ const DocumentRouter = {
() => {
const to: any = get_next_route()
if (to.params.folder_id == 'shared') {
return PermissionConst.SHARED_KNOWLEDGE_CHAT_USER_READ
return PermissionConst.SHARED_KNOWLEDGE_CHAT_USER_READ
} else { return PermissionConst.KNOWLEDGE_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole() }
},
],[EditionConst.IS_EE,EditionConst.IS_PE],'OR'),
], [EditionConst.IS_EE, EditionConst.IS_PE], 'OR'),
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') { return RoleConst.ADMIN }
else { return new ComplexPermission([RoleConst.USER], [PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(to ? to.params.id : '',)], [EditionConst.IS_EE, EditionConst.IS_PE], 'AND') }
},
]
},
component: () => import('@/views/chat-user/index.vue'),
},
@ -164,16 +188,22 @@ const DocumentRouter = {
parentName: 'KnowledgeDetail',
group: 'KnowledgeDetail',
permission: [
RoleConst.ADMIN,
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') { return RoleConst.ADMIN }
else { return new ComplexPermission([RoleConst.USER], [PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(to ? to.params.id : '',)], [], 'AND') }
},
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') { return RoleConst.ADMIN } else { return RoleConst.WORKSPACE_MANAGE.getWorkspaceRole }
},
() => {
const to: any = get_next_route()
if (to.params.folderId == 'shared') { return PermissionConst.SHARED_KNOWLEDGE_EDIT } else { return PermissionConst.KNOWLEDGE_EDIT.getKnowledgeWorkspaceResourcePermission(
to ? to.params.id : '',
) }
if (to.params.folderId == 'shared') { return PermissionConst.SHARED_KNOWLEDGE_EDIT } else {
return PermissionConst.KNOWLEDGE_EDIT.getKnowledgeWorkspaceResourcePermission(
to ? to.params.id : '',
)
}
},
() => {
const to: any = get_next_route()

View File

@ -25,6 +25,12 @@ import { Permission, Role, Edition } from '@/utils/permission/type'
// ANNOTATION = "READ+ANNOTATION" # 标注
// CLEAR_POLICY = "READ+CLEAR_POLICY"
const PermissionConst = {
APPLICATION: new Permission('APPLICATION'),
KNOWLEDGE: new Permission('KNOWLEDGE'),
TOOL: new Permission('TOOL'),
MODEL: new Permission('MODEL'),
USER_READ: new Permission('USER_MANAGEMENT:READ'),
USER_CREATE: new Permission('USER_MANAGEMENT:READ+CREATE'),
USER_EDIT: new Permission('USER_MANAGEMENT:READ+EDIT'),