Skip to content

Commit 69e60b5

Browse files
committed
feat: Knowledge permission list
1 parent 66bb8f6 commit 69e60b5

File tree

9 files changed

+317
-258
lines changed

9 files changed

+317
-258
lines changed

ui/src/permission/knowledge/system-manage.ts

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,33 @@ const workspace = {
66
hasPermission(
77
new ComplexPermission(
88
[RoleConst.ADMIN],
9-
[PermissionConst.SHARED_TOOL_READ],
9+
[PermissionConst.SHARED_KNOWLEDGE_READ],
1010
[EditionConst.IS_EE],
1111
'OR',
1212
),
1313
'OR',
1414
),
15-
delete: () =>
16-
hasPermission(
17-
[
18-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
19-
RoleConst.USER.getWorkspaceRole,
20-
PermissionConst.TOOL_DELETE.getWorkspacePermission,
21-
],
22-
'OR',
23-
),
15+
create: () => false,
16+
single: () => false,
17+
sync: () => false,
18+
vector: () => false,
19+
generate: () => false,
20+
setting: () => false,
21+
export: () => false,
22+
delete: () => false,
23+
24+
doc_create: () => false,
25+
doc_vector: () => false,
26+
doc_generate: () => false,
27+
doc_migrate: () => false,
28+
doc_edit: () => false,
29+
doc_sync: () => false,
30+
doc_delete: () => false,
31+
doc_export: () => false,
32+
33+
problem_create: () => false,
34+
problem_relate: () => false,
35+
problem_delete: () => false,
2436
}
2537

2638
export default workspace

ui/src/permission/knowledge/system-share.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,24 @@ import { ComplexPermission } from '@/utils/permission/type'
33
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
44
const share = {
55
is_share: () => false,
6+
create: () => false,
7+
single: () => false,
8+
sync: () => false,
9+
vector: () => false,
10+
generate: () => false,
11+
setting: () => false,
12+
export: () => false,
13+
delete: () => false,
14+
15+
doc_create: () => false,
16+
doc_vector: () => false,
17+
doc_generate: () => false,
18+
doc_migrate: () => false,
19+
doc_edit: () => false,
20+
doc_sync: () => false,
21+
doc_delete: () => false,
22+
doc_export: () => false,
23+
24+
625
}
726
export default share

ui/src/permission/knowledge/workspace.ts

Lines changed: 162 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,173 @@ const workspace = {
66
hasPermission(
77
new ComplexPermission(
88
[RoleConst.ADMIN],
9-
[PermissionConst.SHARED_TOOL_READ],
9+
[PermissionConst.SHARED_KNOWLEDGE_READ],
1010
[EditionConst.IS_EE],
1111
'OR',
1212
),
1313
'OR',
1414
),
15+
create: () =>
16+
hasPermission(
17+
[
18+
RoleConst.ADMIN,
19+
RoleConst.USER.getWorkspaceRole,
20+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
21+
PermissionConst.KNOWLEDGE_CREATE.getWorkspacePermission,
22+
PermissionConst.KNOWLEDGE_CREATE.getWorkspacePermissionWorkspaceManageRole,
23+
],
24+
'OR',
25+
),
26+
single: (source_id:string) =>
27+
hasPermission(
28+
[
29+
RoleConst.ADMIN,
30+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
31+
PermissionConst.KNOWLEDGE_READ.getKnowledgeWorkspaceResourcePermission(source_id),
32+
PermissionConst.KNOWLEDGE_READ.getWorkspacePermissionWorkspaceManageRole,
33+
],
34+
'OR',
35+
),
36+
sync: (source_id:string) =>
37+
hasPermission(
38+
[
39+
RoleConst.ADMIN,
40+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
41+
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id),
42+
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
43+
],
44+
'OR',
45+
),
46+
vector: (source_id:string) =>
47+
hasPermission(
48+
[
49+
RoleConst.ADMIN,
50+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
51+
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id),
52+
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole,
53+
],
54+
'OR',
55+
),
56+
generate: (source_id:string) =>
57+
hasPermission(
58+
[
59+
RoleConst.ADMIN,
60+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
61+
PermissionConst.KNOWLEDGE_GENERATE.getKnowledgeWorkspaceResourcePermission(source_id),
62+
PermissionConst.KNOWLEDGE_GENERATE.getWorkspacePermissionWorkspaceManageRole,
63+
],
64+
'OR',
65+
),
66+
setting: (source_id:string) =>
67+
hasPermission(
68+
[
69+
RoleConst.ADMIN,
70+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
71+
PermissionConst.KNOWLEDGE_EDIT.getKnowledgeWorkspaceResourcePermission(source_id),
72+
PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermissionWorkspaceManageRole,
73+
],
74+
'OR',
75+
),
76+
export: (source_id:string) =>
77+
hasPermission(
78+
[
79+
RoleConst.ADMIN,
80+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
81+
PermissionConst.KNOWLEDGE_EXPORT.getKnowledgeWorkspaceResourcePermission(source_id),
82+
PermissionConst.KNOWLEDGE_EXPORT.getWorkspacePermissionWorkspaceManageRole,
83+
],
84+
'OR',
85+
),
86+
delete: (source_id:string) =>
87+
hasPermission(
88+
[
89+
RoleConst.ADMIN,
90+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
91+
PermissionConst.KNOWLEDGE_DELETE.getKnowledgeWorkspaceResourcePermission(source_id),
92+
PermissionConst.KNOWLEDGE_DELETE.getWorkspacePermissionWorkspaceManageRole,
93+
],
94+
'OR',
95+
),
96+
doc_create: (source_id:string) =>
97+
hasPermission(
98+
[
99+
RoleConst.ADMIN,
100+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
101+
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getKnowledgeWorkspaceResourcePermission(source_id),
102+
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole,
103+
],
104+
'OR',
105+
),
106+
doc_vector: (source_id:string) =>
107+
hasPermission(
108+
[
109+
RoleConst.ADMIN,
110+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
111+
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id),
112+
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole,
113+
],
114+
'OR',
115+
),
116+
doc_generate: (source_id:string) =>
117+
hasPermission(
118+
[
119+
RoleConst.ADMIN,
120+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
121+
PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getKnowledgeWorkspaceResourcePermission(source_id),
122+
PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getWorkspacePermissionWorkspaceManageRole,
123+
],
124+
'OR',
125+
),
126+
doc_migrate: (source_id:string) =>
127+
hasPermission(
128+
[
129+
RoleConst.ADMIN,
130+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
131+
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getKnowledgeWorkspaceResourcePermission(source_id),
132+
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getWorkspacePermissionWorkspaceManageRole,
133+
],
134+
'OR',
135+
),
136+
doc_edit: (source_id:string) =>
137+
hasPermission(
138+
[
139+
RoleConst.ADMIN,
140+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
141+
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getKnowledgeWorkspaceResourcePermission(source_id),
142+
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getWorkspacePermissionWorkspaceManageRole,
143+
],
144+
'OR',
145+
),
146+
doc_sync: (source_id:string) =>
147+
hasPermission(
148+
[
149+
RoleConst.ADMIN,
150+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
151+
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id),
152+
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
153+
],
154+
'OR',
155+
),
156+
doc_delete: (source_id:string) =>
157+
hasPermission(
158+
[
159+
RoleConst.ADMIN,
160+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
161+
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getKnowledgeWorkspaceResourcePermission(source_id),
162+
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getWorkspacePermissionWorkspaceManageRole,
163+
],
164+
'OR',
165+
),
166+
doc_export: (source_id:string) =>
167+
hasPermission(
168+
[
169+
RoleConst.ADMIN,
170+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
171+
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getKnowledgeWorkspaceResourcePermission(source_id),
172+
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getWorkspacePermissionWorkspaceManageRole,
173+
],
174+
'OR',
175+
),
15176
}
16177

17178
export default workspace

ui/src/router/modules/document.ts

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,6 @@ const DocumentRouter = {
1919
active: 'document',
2020
parentPath: '/knowledge/:id/:folderId',
2121
parentName: 'KnowledgeDetail',
22-
permission: [
23-
RoleConst.ADMIN,
24-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
25-
PermissionConst.KNOWLEDGE_DOCUMENT_READ.getWorkspacePermission,
26-
PermissionConst.KNOWLEDGE_DOCUMENT_READ.getWorkspacePermissionWorkspaceManageRole
27-
],
2822
},
2923
component: () => import('@/views/document/index.vue'),
3024
},
@@ -38,12 +32,6 @@ const DocumentRouter = {
3832
active: 'problem',
3933
parentPath: '/knowledge/:id/:folderId',
4034
parentName: 'KnowledgeDetail',
41-
permission: [
42-
RoleConst.ADMIN,
43-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
44-
PermissionConst.KNOWLEDGE_PROBLEM_READ.getWorkspacePermission,
45-
PermissionConst.KNOWLEDGE_PROBLEM_READ.getWorkspacePermissionWorkspaceManageRole
46-
],
4735
},
4836
component: () => import('@/views/problem/index.vue'),
4937
},
@@ -70,12 +58,6 @@ const DocumentRouter = {
7058
parentPath: '/knowledge/:id/:folderId',
7159
parentName: 'KnowledgeDetail',
7260
resourceType: ChatUserResourceEnum.KNOWLEDGE,
73-
permission: [
74-
RoleConst.ADMIN,
75-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
76-
PermissionConst.WORKSPACE_CHAT_USER_READ.getWorkspacePermission,
77-
PermissionConst.WORKSPACE_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole
78-
],
7961
},
8062
component: () => import('@/views/chat-user/index.vue'),
8163
},
@@ -89,13 +71,6 @@ const DocumentRouter = {
8971
active: 'setting',
9072
parentPath: '/knowledge/:id/:folderId',
9173
parentName: 'KnowledgeDetail',
92-
permission: [
93-
RoleConst.ADMIN,
94-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
95-
PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermission,
96-
PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermissionWorkspaceManageRole
97-
]
98-
9974
},
10075
component: () => import('@/views/knowledge/KnowledgeSetting.vue'),
10176
},

ui/src/utils/permission/data.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ const PermissionConst = {
8989
KNOWLEDGE_EDIT: new Permission('KNOWLEDGE:READ+EDIT'),
9090
KNOWLEDGE_EXPORT: new Permission('KNOWLEDGE:READ+EXPORT'),
9191
KNOWLEDGE_DELETE: new Permission('KNOWLEDGE:READ+DELETE'),
92+
KNOWLEDGE_GENERATE: new Permission('KNOWLEDGE:READ+GENERATE'),
9293

9394
KNOWLEDGE_DOCUMENT_READ:new Permission('KNOWLEDGE_DOCUMENT:READ'),
9495
KNOWLEDGE_DOCUMENT_CREATE:new Permission('KNOWLEDGE_DOCUMENT:READ+CREATE'),

ui/src/utils/permission/type.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import useStore from '@/stores'
2+
import { useRoute } from 'vue-router'
23
export type PF = () => Role | string | Permission | ComplexPermission
34
export type CRF = () => Role | string
45
export type CPF = () => Permission | string
@@ -69,6 +70,12 @@ export class Permission {
6970
getKnowledgeWorkspaceResourcePermission = (resource_id: string) => {
7071
return this.getWorkspaceResourcePermission('KNOWLEDGE', resource_id)
7172
}
73+
getTest=()=>{
74+
const route=useRoute()
75+
debugger
76+
console.log(route)
77+
return ""
78+
}
7279
/**
7380
*
7481
* @param resource_id 资源id

0 commit comments

Comments
 (0)