feat: Shared knowledge permission

This commit is contained in:
zhangzhanwei 2025-06-25 11:15:23 +08:00 committed by zhanweizhang7
parent 73ee9bf602
commit 2364bd275a
4 changed files with 152 additions and 30 deletions

View File

@ -13,7 +13,6 @@ const workspace = {
'OR',
),
create: () => false,
single: () => false,
sync: () => false,
vector: () => false,
generate: () => false,

View File

@ -3,27 +3,152 @@ import { ComplexPermission } from '@/utils/permission/type'
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
const share = {
is_share: () => false,
create: () => false,
single: () => false,
sync: () => false,
vector: () => false,
generate: () => false,
setting: () => false,
export: () => false,
delete: () => false,
create: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_CREATE
],
'OR'
),
sync: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_SYNC
],
'OR'
),
vector: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_VECTOR
],
'OR'
),
generate: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_GENERATE
],
'OR'
),
setting: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_EDIT
],
'OR'
),
export: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_EXPORT
],
'OR'
),
delete: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_DELETE
],
'OR'
),
doc_create: () => false,
doc_vector: () => false,
doc_generate: () => false,
doc_migrate: () => false,
doc_edit: () => false,
doc_sync: () => false,
doc_delete: () => false,
doc_export: () => false,
doc_create: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_CREATE
],
'OR'
),
doc_vector: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_VECTOR
],
'OR'
),
doc_generate: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_GENERATE
],
'OR'
),
doc_migrate: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_MIGRATE
],
'OR'
),
doc_edit: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_EDIT
],
'OR'
),
doc_sync: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_SYNC
],
'OR'
),
doc_delete: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_DELETE
],
'OR'
),
doc_export: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_EXPORT
],
'OR'
),
problem_create: () => false,
problem_relate: () => false,
problem_delete: () => false,
problem_create: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_PROBLEM_CREATE
],
'OR'
),
problem_relate: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_PROBLEM_READ
],
'OR'
),
problem_delete: () =>
hasPermission (
[
RoleConst.ADMIN,
PermissionConst.SHARED_KNOWLEDGE_PROBLEM_DELETE
],
'OR'
),
}
export default share

View File

@ -23,16 +23,6 @@ const workspace = {
],
'OR',
),
single: (source_id:string) =>
hasPermission(
[
RoleConst.ADMIN,
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_READ.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_READ.getWorkspacePermissionWorkspaceManageRole,
],
'OR',
),
sync: (source_id:string) =>
hasPermission(
[

View File

@ -134,6 +134,14 @@ const systemRouter = {
activeMenu: '/system',
parentPath: '/system',
parentName: 'system',
permission: [
new ComplexPermission(
[RoleConst.ADMIN],
[PermissionConst.SHARED_KNOWLEDGE_READ],
[EditionConst.IS_EE],
'OR'
)
]
},
component: () => import('@/views/system-shared/KnowLedgeSharedIndex.vue'),
},