Skip to content

Commit c3ee492

Browse files
committed
feat: Application permission
1 parent a73e0b1 commit c3ee492

File tree

15 files changed

+194
-113
lines changed

15 files changed

+194
-113
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import workspace from './workspace'
2+
const permission = {
3+
workspace,
4+
}
5+
export default permission
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
import { hasPermission } from '@/utils/permission/index'
2+
import { PermissionConst, RoleConst } from '@/utils/permission/data'
3+
4+
const workspace = {
5+
create: () =>
6+
hasPermission(
7+
[
8+
RoleConst.ADMIN,
9+
RoleConst.USER.getWorkspaceRole,
10+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
11+
PermissionConst.APPLICATION_CREATE.getWorkspacePermission,
12+
PermissionConst.APPLICATION_CREATE.getWorkspacePermissionWorkspaceManageRole,
13+
],
14+
'OR'
15+
),
16+
edit: (source_id:string) =>
17+
hasPermission(
18+
[
19+
RoleConst.ADMIN,
20+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
21+
PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole,
22+
PermissionConst.APPLICATION_EDIT.getApplicationWorkspaceResourcePermission(source_id)
23+
],
24+
'OR'
25+
),
26+
export: (source_id:string) =>
27+
hasPermission(
28+
[
29+
RoleConst.ADMIN,
30+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
31+
PermissionConst.APPLICATION_EXPORT.getWorkspacePermissionWorkspaceManageRole,
32+
PermissionConst.APPLICATION_EXPORT.getApplicationWorkspaceResourcePermission(source_id)
33+
],
34+
'OR'
35+
),
36+
delete: (source_id:string) =>
37+
hasPermission(
38+
[
39+
RoleConst.ADMIN,
40+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
41+
PermissionConst.APPLICATION_DELETE.getWorkspacePermissionWorkspaceManageRole,
42+
PermissionConst.APPLICATION_DELETE.getApplicationWorkspaceResourcePermission(source_id)
43+
],
44+
'OR'
45+
),
46+
overview_embed: (source_id:string) =>
47+
hasPermission(
48+
[
49+
RoleConst.ADMIN,
50+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
51+
PermissionConst.APPLICATION_OVERVIEW_EMBEDDED.getWorkspacePermissionWorkspaceManageRole,
52+
PermissionConst.APPLICATION_OVERVIEW_EMBEDDED.getApplicationWorkspaceResourcePermission(source_id)
53+
],
54+
'OR'
55+
),
56+
overview_access: (source_id:string) =>
57+
hasPermission(
58+
[
59+
RoleConst.ADMIN,
60+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
61+
PermissionConst.APPLICATION_OVERVIEW_ACCESS.getWorkspacePermissionWorkspaceManageRole,
62+
PermissionConst.APPLICATION_OVERVIEW_ACCESS.getApplicationWorkspaceResourcePermission(source_id)
63+
],
64+
'OR'
65+
)
66+
67+
,
68+
overview_display: (source_id:string) =>
69+
hasPermission(
70+
[
71+
RoleConst.ADMIN,
72+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
73+
PermissionConst.APPLICATION_OVERVIEW_DISPLAY.getWorkspacePermissionWorkspaceManageRole,
74+
PermissionConst.APPLICATION_OVERVIEW_DISPLAY.getApplicationWorkspaceResourcePermission(source_id)
75+
],
76+
'OR'
77+
),
78+
overview_api_key: (source_id:string) =>
79+
hasPermission(
80+
[
81+
RoleConst.ADMIN,
82+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
83+
PermissionConst.APPLICATION_OVERVIEW_API_KEY.getWorkspacePermissionWorkspaceManageRole,
84+
PermissionConst.APPLICATION_OVERVIEW_API_KEY.getApplicationWorkspaceResourcePermission(source_id)
85+
],
86+
'OR'
87+
),
88+
access_edit: (source_id:string) =>
89+
hasPermission(
90+
[
91+
RoleConst.ADMIN,
92+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
93+
PermissionConst.APPLICATION_ACCESS_EDIT.getWorkspacePermissionWorkspaceManageRole,
94+
PermissionConst.APPLICATION_ACCESS_EDIT.getApplicationWorkspaceResourcePermission(source_id)
95+
],
96+
'OR'
97+
),
98+
}
99+
100+
101+
export default workspace

ui/src/permission/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import tool from '@/permission/tool'
22
import model from '@/permission/model'
33
import knowledge from '@/permission/knowledge'
4+
import application from '@/permission/application'
45
const permission = {
56
tool,
67
model,
78
knowledge,
9+
application,
810
}
911
export default permission

ui/src/permission/knowledge/workspace.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ const workspace = {
3232
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
3333
],
3434
'OR',
35-
),
35+
),
3636
vector: (source_id:string) =>
3737
hasPermission(
3838
[
@@ -122,7 +122,7 @@ const workspace = {
122122
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getWorkspacePermissionWorkspaceManageRole,
123123
],
124124
'OR',
125-
),
125+
),
126126
doc_edit: (source_id:string) =>
127127
hasPermission(
128128
[
@@ -142,7 +142,7 @@ const workspace = {
142142
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
143143
],
144144
'OR',
145-
),
145+
),
146146
doc_delete: (source_id:string) =>
147147
hasPermission(
148148
[
@@ -152,7 +152,7 @@ const workspace = {
152152
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getWorkspacePermissionWorkspaceManageRole,
153153
],
154154
'OR',
155-
),
155+
),
156156
doc_export: (source_id:string) =>
157157
hasPermission(
158158
[
@@ -162,7 +162,7 @@ const workspace = {
162162
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getWorkspacePermissionWorkspaceManageRole,
163163
],
164164
'OR',
165-
),
165+
),
166166
problem_create: (source_id:string) =>
167167
hasPermission(
168168
[
@@ -192,7 +192,7 @@ const workspace = {
192192
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getWorkspacePermissionWorkspaceManageRole,
193193
],
194194
'OR',
195-
),
195+
),
196196
}
197197

198198
export default workspace

ui/src/router/modules/application-detail.ts

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ const ApplicationDetailRouter = {
1919
active: 'overview',
2020
parentPath: '/application/:id/:type',
2121
parentName: 'ApplicationDetail',
22-
permission: [
23-
PermissionConst.APPLICATION_OVERVIEW_READ.getWorkspacePermission,
24-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
25-
],
2622
},
2723
component: () => import('@/views/application-overview/index.vue'),
2824
},
@@ -53,18 +49,6 @@ const ApplicationDetailRouter = {
5349
},
5450
component: () => import('@/views/application/ApplicationAccess.vue'),
5551
},
56-
{
57-
path: 'hit-test',
58-
name: 'AppHitTest',
59-
meta: {
60-
icon: 'app-hit-test',
61-
title: 'views.application.hitTest.title',
62-
active: 'hit-test',
63-
parentPath: '/application/:id/:type',
64-
parentName: 'ApplicationDetail',
65-
},
66-
component: () => import('@/views/hit-test/index.vue'),
67-
},
6852
{
6953
path: 'chat-user',
7054
name: 'applicationChatUser',

ui/src/router/modules/application.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const applicationRouter = {
77
menu: true,
88
permission: [
99
RoleConst.ADMIN,
10+
RoleConst.USER,
1011
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
1112
PermissionConst.APPLICATION_READ.getWorkspacePermissionWorkspaceManageRole,
1213
PermissionConst.APPLICATION_READ.getWorkspacePermission,

ui/src/router/modules/knowledge.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const ModelRouter = {
77
menu: true,
88
permission: [
99
RoleConst.ADMIN,
10+
RoleConst.USER,
1011
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
1112
PermissionConst.KNOWLEDGE_READ.getWorkspacePermission,
1213
PermissionConst.KNOWLEDGE_READ.getWorkspacePermissionWorkspaceManageRole,

ui/src/router/modules/model.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const ModelRouter = {
77
menu: true,
88
permission: [
99
RoleConst.ADMIN,
10+
RoleConst.USER,
1011
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
1112
PermissionConst.MODEL_READ.getWorkspacePermission,
1213
PermissionConst.MODEL_READ.getWorkspacePermissionWorkspaceManageRole,

ui/src/router/modules/system.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,14 @@ const systemRouter = {
1818
activeMenu: '/system',
1919
parentPath: '/system',
2020
parentName: 'system',
21-
permission: [RoleConst.ADMIN, EditionConst.IS_EE],
21+
permission: [
22+
new ComplexPermission(
23+
[RoleConst.ADMIN,],
24+
[PermissionConst.USER_READ],
25+
[EditionConst.IS_EE],
26+
'OR',
27+
),
28+
],
2229
},
2330
component: () => import('@/views/system/user-manage/index.vue'),
2431
},
@@ -55,8 +62,8 @@ const systemRouter = {
5562
parentName: 'system',
5663
permission: [
5764
new ComplexPermission(
58-
[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, RoleConst.ADMIN],
59-
[PermissionConst.WORKSPACE_WORKSPACE_READ],
65+
[RoleConst.WORKSPACE_MANAGE, RoleConst.ADMIN],
66+
[PermissionConst.WORKSPACE_WORKSPACE_READ.getWorkspacePermissionWorkspaceManageRole],
6067
[EditionConst.IS_EE],
6168
'OR',
6269
),

ui/src/router/modules/tool.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const ModelRouter = {
77
menu: true,
88
permission: [
99
RoleConst.ADMIN,
10+
RoleConst.USER,
1011
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
1112
PermissionConst.TOOL_READ.getWorkspacePermission,
1213
PermissionConst.TOOL_READ.getWorkspacePermissionWorkspaceManageRole,

0 commit comments

Comments
 (0)