Skip to content

Commit 0f5aa9f

Browse files
committed
feat: New tool and model permission
1 parent 276378a commit 0f5aa9f

File tree

7 files changed

+68
-65
lines changed

7 files changed

+68
-65
lines changed

ui/src/permission/knowledge/workspace.ts

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,14 @@ const workspace = {
55
is_share: () =>
66
hasPermission(
77
new ComplexPermission(
8-
[RoleConst.ADMIN,RoleConst.USER.getWorkspaceRole,RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],
8+
[RoleConst.USER.getWorkspaceRole,RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],
99
[PermissionConst.KNOWLEDGE_READ.getWorkspacePermission,PermissionConst.KNOWLEDGE_READ.getWorkspacePermissionWorkspaceManageRole],
1010
[EditionConst.IS_EE],'OR'),
1111
'OR',
1212
),
1313
create: () =>
1414
hasPermission(
1515
[
16-
RoleConst.ADMIN,
1716
RoleConst.USER.getWorkspaceRole,
1817
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
1918
PermissionConst.KNOWLEDGE_CREATE.getWorkspacePermission,
@@ -24,7 +23,6 @@ const workspace = {
2423
sync: (source_id:string) =>
2524
hasPermission(
2625
[
27-
RoleConst.ADMIN,
2826
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
2927
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id),
3028
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
@@ -34,7 +32,6 @@ const workspace = {
3432
vector: (source_id:string) =>
3533
hasPermission(
3634
[
37-
RoleConst.ADMIN,
3835
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
3936
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id),
4037
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole,
@@ -44,7 +41,6 @@ const workspace = {
4441
generate: (source_id:string) =>
4542
hasPermission(
4643
[
47-
RoleConst.ADMIN,
4844
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
4945
PermissionConst.KNOWLEDGE_GENERATE.getKnowledgeWorkspaceResourcePermission(source_id),
5046
PermissionConst.KNOWLEDGE_GENERATE.getWorkspacePermissionWorkspaceManageRole,
@@ -54,7 +50,6 @@ const workspace = {
5450
setting: (source_id:string) =>
5551
hasPermission(
5652
[
57-
RoleConst.ADMIN,
5853
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
5954
PermissionConst.KNOWLEDGE_EDIT.getKnowledgeWorkspaceResourcePermission(source_id),
6055
PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermissionWorkspaceManageRole,
@@ -64,7 +59,6 @@ const workspace = {
6459
export: (source_id:string) =>
6560
hasPermission(
6661
[
67-
RoleConst.ADMIN,
6862
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
6963
PermissionConst.KNOWLEDGE_EXPORT.getKnowledgeWorkspaceResourcePermission(source_id),
7064
PermissionConst.KNOWLEDGE_EXPORT.getWorkspacePermissionWorkspaceManageRole,
@@ -74,7 +68,6 @@ const workspace = {
7468
delete: (source_id:string) =>
7569
hasPermission(
7670
[
77-
RoleConst.ADMIN,
7871
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
7972
PermissionConst.KNOWLEDGE_DELETE.getKnowledgeWorkspaceResourcePermission(source_id),
8073
PermissionConst.KNOWLEDGE_DELETE.getWorkspacePermissionWorkspaceManageRole,
@@ -84,7 +77,6 @@ const workspace = {
8477
doc_create: (source_id:string) =>
8578
hasPermission(
8679
[
87-
RoleConst.ADMIN,
8880
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
8981
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getKnowledgeWorkspaceResourcePermission(source_id),
9082
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole,
@@ -94,7 +86,6 @@ const workspace = {
9486
doc_vector: (source_id:string) =>
9587
hasPermission(
9688
[
97-
RoleConst.ADMIN,
9889
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
9990
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id),
10091
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole,
@@ -104,7 +95,6 @@ const workspace = {
10495
doc_generate: (source_id:string) =>
10596
hasPermission(
10697
[
107-
RoleConst.ADMIN,
10898
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
10999
PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getKnowledgeWorkspaceResourcePermission(source_id),
110100
PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getWorkspacePermissionWorkspaceManageRole,
@@ -114,7 +104,6 @@ const workspace = {
114104
doc_migrate: (source_id:string) =>
115105
hasPermission(
116106
[
117-
RoleConst.ADMIN,
118107
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
119108
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getKnowledgeWorkspaceResourcePermission(source_id),
120109
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getWorkspacePermissionWorkspaceManageRole,
@@ -124,7 +113,6 @@ const workspace = {
124113
doc_edit: (source_id:string) =>
125114
hasPermission(
126115
[
127-
RoleConst.ADMIN,
128116
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
129117
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getKnowledgeWorkspaceResourcePermission(source_id),
130118
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getWorkspacePermissionWorkspaceManageRole,
@@ -134,7 +122,6 @@ const workspace = {
134122
doc_sync: (source_id:string) =>
135123
hasPermission(
136124
[
137-
RoleConst.ADMIN,
138125
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
139126
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id),
140127
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
@@ -144,7 +131,6 @@ const workspace = {
144131
doc_delete: (source_id:string) =>
145132
hasPermission(
146133
[
147-
RoleConst.ADMIN,
148134
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
149135
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getKnowledgeWorkspaceResourcePermission(source_id),
150136
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getWorkspacePermissionWorkspaceManageRole,
@@ -154,7 +140,6 @@ const workspace = {
154140
doc_export: (source_id:string) =>
155141
hasPermission(
156142
[
157-
RoleConst.ADMIN,
158143
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
159144
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getKnowledgeWorkspaceResourcePermission(source_id),
160145
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getWorkspacePermissionWorkspaceManageRole,
@@ -164,7 +149,6 @@ const workspace = {
164149
doc_download: (source_id:string) =>
165150
hasPermission(
166151
[
167-
RoleConst.ADMIN,
168152
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
169153
PermissionConst.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.getKnowledgeWorkspaceResourcePermission(source_id),
170154
PermissionConst.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.getWorkspacePermissionWorkspaceManageRole,
@@ -174,7 +158,6 @@ const workspace = {
174158
problem_create: (source_id:string) =>
175159
hasPermission(
176160
[
177-
RoleConst.ADMIN,
178161
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
179162
PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getKnowledgeWorkspaceResourcePermission(source_id),
180163
PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getWorkspacePermissionWorkspaceManageRole,
@@ -184,7 +167,6 @@ const workspace = {
184167
problem_relate: (source_id:string) =>
185168
hasPermission(
186169
[
187-
RoleConst.ADMIN,
188170
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
189171
PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getKnowledgeWorkspaceResourcePermission(source_id),
190172
PermissionConst.KNOWLEDGE_PROBLEM_RELATE.getWorkspacePermissionWorkspaceManageRole,
@@ -194,7 +176,6 @@ const workspace = {
194176
problem_delete: (source_id:string) =>
195177
hasPermission(
196178
[
197-
RoleConst.ADMIN,
198179
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
199180
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getKnowledgeWorkspaceResourcePermission(source_id),
200181
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getWorkspacePermissionWorkspaceManageRole,

ui/src/permission/model/workspace.ts

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,47 +5,44 @@ const workspace = {
55
is_share: () =>
66
hasPermission(
77
new ComplexPermission(
8-
[RoleConst.ADMIN,RoleConst.USER.getWorkspaceRole,RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],
8+
[RoleConst.USER.getWorkspaceRole,RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],
99
[PermissionConst.MODEL_READ.getWorkspacePermission,PermissionConst.MODEL_READ.getWorkspacePermissionWorkspaceManageRole],
1010
[EditionConst.IS_EE],'OR'),
1111
'OR',
1212
),
13-
addModel: () =>
13+
addModel: (source_id:string) =>
1414
hasPermission(
1515
[
1616
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
1717
RoleConst.USER.getWorkspaceRole,
18-
PermissionConst.MODEL_CREATE.getWorkspacePermission,
18+
PermissionConst.MODEL_CREATE.getModelWorkspaceResourcePermission(source_id),
1919
PermissionConst.MODEL_CREATE.getWorkspacePermissionWorkspaceManageRole
2020
],
2121
'OR'
2222
),
23-
modify: () =>
23+
modify: (source_id:string) =>
2424
hasPermission(
2525
[
2626
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
27-
RoleConst.USER.getWorkspaceRole,
28-
PermissionConst.MODEL_EDIT.getWorkspacePermission,
27+
PermissionConst.MODEL_EDIT.getModelWorkspaceResourcePermission(source_id),
2928
PermissionConst.MODEL_EDIT.getWorkspacePermissionWorkspaceManageRole
3029
],
3130
'OR'
3231
),
33-
paramSetting: () =>
32+
paramSetting: (source_id:string) =>
3433
hasPermission(
3534
[
3635
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
37-
RoleConst.USER.getWorkspaceRole,
38-
PermissionConst.MODEL_EDIT.getWorkspacePermission,
36+
PermissionConst.MODEL_EDIT.getModelWorkspaceResourcePermission(source_id),
3937
PermissionConst.MODEL_EDIT.getWorkspacePermissionWorkspaceManageRole
4038
],
4139
'OR'
4240
),
43-
delete: () =>
41+
delete: (source_id:string) =>
4442
hasPermission(
4543
[
4644
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
47-
RoleConst.USER.getWorkspaceRole,
48-
PermissionConst.MODEL_DELETE.getWorkspacePermission,
45+
PermissionConst.MODEL_DELETE.getModelWorkspaceResourcePermission(source_id),
4946
PermissionConst.MODEL_DELETE.getWorkspacePermissionWorkspaceManageRole
5047
],
5148
'OR'

ui/src/permission/tool/workspace.ts

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,72 +10,70 @@ const workspace = {
1010
[EditionConst.IS_EE],'OR'),
1111
'OR',
1212
),
13-
delete: () =>
13+
14+
create: () =>
1415
hasPermission(
1516
[
1617
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
1718
RoleConst.USER.getWorkspaceRole,
18-
PermissionConst.TOOL_DELETE.getWorkspacePermission,
19-
PermissionConst.TOOL_DELETE.getWorkspacePermissionWorkspaceManageRole
19+
PermissionConst.TOOL_CREATE.getWorkspacePermission,
20+
PermissionConst.TOOL_CREATE.getWorkspacePermissionWorkspaceManageRole
2021
],
21-
'OR',
22+
'OR'
2223
),
23-
create: () =>
24+
delete: (source_id:string) =>
2425
hasPermission(
2526
[
2627
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
27-
RoleConst.USER.getWorkspaceRole,
28-
PermissionConst.TOOL_CREATE.getWorkspacePermission,
29-
PermissionConst.TOOL_CREATE.getWorkspacePermissionWorkspaceManageRole
28+
PermissionConst.TOOL_DELETE.getToolWorkspaceResourcePermission(source_id),
29+
PermissionConst.TOOL_DELETE.getWorkspacePermissionWorkspaceManageRole
3030
],
31-
'OR'
31+
'OR',
3232
),
33-
switch: () =>
33+
switch: (source_id:string) =>
3434
hasPermission(
3535
[
3636
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
37-
RoleConst.USER.getWorkspaceRole,
38-
PermissionConst.TOOL_EDIT.getWorkspacePermission,
37+
PermissionConst.TOOL_EDIT.getToolWorkspaceResourcePermission(source_id),
3938
PermissionConst.TOOL_EDIT.getWorkspacePermissionWorkspaceManageRole
4039
],
4140
'OR'
4241
),
43-
edit: () =>
42+
edit: (source_id:string) =>
4443
hasPermission(
4544
[
4645
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
47-
RoleConst.USER.getWorkspaceRole,
48-
PermissionConst.TOOL_EDIT.getWorkspacePermission,
46+
PermissionConst.TOOL_EDIT.getToolWorkspaceResourcePermission(source_id),
4947
PermissionConst.TOOL_EDIT.getWorkspacePermissionWorkspaceManageRole
5048
],
5149
'OR'
5250
),
53-
copy: () =>
51+
copy: (source_id:string) =>
5452
hasPermission(
5553
[
5654
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
5755
RoleConst.USER.getWorkspaceRole,
58-
PermissionConst.TOOL_EXPORT.getWorkspacePermission,
56+
PermissionConst.TOOL_EXPORT.getToolWorkspaceResourcePermission(source_id),
5957
PermissionConst.TOOL_EXPORT.getWorkspacePermissionWorkspaceManageRole
6058
],
6159
'OR'
6260
),
63-
export: () =>
61+
export: (source_id:string) =>
6462
hasPermission(
6563
[
6664
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
6765
RoleConst.USER.getWorkspaceRole,
68-
PermissionConst.TOOL_EXPORT.getWorkspacePermission,
66+
PermissionConst.TOOL_EXPORT.getToolWorkspaceResourcePermission(source_id),
6967
PermissionConst.TOOL_EXPORT.getWorkspacePermissionWorkspaceManageRole
7068
],
7169
'OR'
7270
),
73-
debug: () =>
71+
debug: (source_id:string) =>
7472
hasPermission(
7573
[
7674
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
7775
RoleConst.USER.getWorkspaceRole,
78-
PermissionConst.TOOL_DEBUG.getWorkspacePermission,
76+
PermissionConst.TOOL_DEBUG.getToolWorkspaceResourcePermission(source_id),
7977
PermissionConst.TOOL_DEBUG.getWorkspacePermissionWorkspaceManageRole
8078
],
8179
'OR'

ui/src/utils/permission/type.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,23 @@ export class Permission {
8484
getApplicationWorkspaceResourcePermission = (resource_id: string) => {
8585
return this.getWorkspaceResourcePermission('APPLICATION', resource_id)
8686
}
87+
/**
88+
*
89+
* @param resource_id 资源id
90+
* @returns 工作空间下模型资源权限
91+
*/
92+
getModelWorkspaceResourcePermission = (resource_id: string) => {
93+
return this.getWorkspaceResourcePermission('MODEL', resource_id)
94+
}
95+
/**
96+
*
97+
* @param resource_id
98+
* @returns 工作空间下工具资源权限
99+
*/
100+
getToolWorkspaceResourcePermission = (resource_id: string) => {
101+
return this.getWorkspaceResourcePermission('TOOL', resource_id)
102+
}
103+
87104
toString() {
88105
return this.permission
89106
}

ui/src/views/model/component/ModelCard.vue

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
<template #dropdown>
7272
<el-dropdown-menu>
7373
<el-dropdown-item
74-
v-if="permissionPrecise.modify()"
74+
v-if="permissionPrecise.modify(id)"
7575
icon="EditPen"
7676
text
7777
@click.stop="openEditModel"
@@ -92,7 +92,7 @@
9292
currentModel.model_type === 'LLM' ||
9393
currentModel.model_type === 'IMAGE' ||
9494
currentModel.model_type === 'TTI' ||
95-
permissionPrecise.paramSetting()
95+
permissionPrecise.paramSetting(id)
9696
"
9797
icon="Setting"
9898
@click.stop="openParamSetting"
@@ -104,7 +104,7 @@
104104
icon="Delete"
105105
text
106106
@click.stop="deleteModel"
107-
v-if="permissionPrecise.delete()"
107+
v-if="permissionPrecise.delete(id)"
108108
>
109109
{{ $t('common.delete') }}
110110
</el-dropdown-item>
@@ -131,7 +131,13 @@ import ParamSettingDialog from './ParamSettingDialog.vue'
131131
import AuthorizedWorkspace from '@/views/system-shared/AuthorizedWorkspaceDialog.vue'
132132
import {t} from '@/locales'
133133
import permissionMap from '@/permission'
134-
import {loadSharedApi} from '@/utils/dynamics-api/shared-api'
134+
import { useRoute } from 'vue-router'
135+
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
136+
137+
const route = useRoute()
138+
const {
139+
params: {id, folderId}, //id is ModelID
140+
} = route as any
135141
136142
const props = defineProps<{
137143
model: Model

0 commit comments

Comments
 (0)