Skip to content

Commit dd63b85

Browse files
committed
feat: Document download permission
1 parent b5bbf9d commit dd63b85

File tree

7 files changed

+24
-4
lines changed

7 files changed

+24
-4
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ const workspace = {
2828
doc_sync: () => false,
2929
doc_delete: () => false,
3030
doc_export: () => false,
31+
doc_download: () => false,
3132

3233
problem_create: () => false,
3334
problem_relate: () => false,

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,14 @@ const share = {
124124
],
125125
'OR'
126126
),
127-
127+
doc_download: () =>
128+
hasPermission (
129+
[
130+
RoleConst.ADMIN,
131+
PermissionConst.SHARED_KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE
132+
],
133+
'OR'
134+
),
128135
problem_create: () =>
129136
hasPermission (
130137
[

ui/src/permission/knowledge/workspace.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,16 @@ const workspace = {
163163
],
164164
'OR',
165165
),
166+
doc_download: (source_id:string) =>
167+
hasPermission(
168+
[
169+
RoleConst.ADMIN,
170+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
171+
PermissionConst.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.getKnowledgeWorkspaceResourcePermission(source_id),
172+
PermissionConst.KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE.getWorkspacePermissionWorkspaceManageRole,
173+
],
174+
'OR',
175+
),
166176
problem_create: (source_id:string) =>
167177
hasPermission(
168178
[

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ChatUserResourceEnum } from '@/enums/workspaceChatUser'
22
import { get_next_route } from '@/utils/permission'
33

4-
import { PermissionConst, EditionConst, RoleConst } from '@/utils/permission/data'
4+
import { PermissionConst, RoleConst } from '@/utils/permission/data'
55

66
const ApplicationDetailRouter = {
77
path: '/application/:id/:type',

ui/src/utils/permission/data.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ const PermissionConst = {
100100
KNOWLEDGE_DOCUMENT_VECTOR:new Permission('KNOWLEDGE_DOCUMENT:READ+VECTOR'),
101101
KNOWLEDGE_DOCUMENT_GENERATE:new Permission('KNOWLEDGE_DOCUMENT:READ+GENERATE'),
102102
KNOWLEDGE_DOCUMENT_EXPORT:new Permission('KNOWLEDGE_DOCUMENT:READ+EXPORT'),
103+
KNOWLEDGE_DOCUMENT_DOWNLOAD_SOURCE_FILE:new Permission('KNOWLEDGE_DOCUMENT:READ+DOWNLOAD'),
103104

104105
KNOWLEDGE_PROBLEM_READ:new Permission('KNOWLEDGE_PROBLEM:READ'),
105106
KNOWLEDGE_PROBLEM_CREATE:new Permission('KNOWLEDGE_PROBLEM:READ+CREATE'),

ui/src/views/document/index.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,9 @@
444444
<AppIcon iconName="app-export"></AppIcon>
445445
{{ $t('views.document.setting.export') }} Zip
446446
</el-dropdown-item>
447-
<el-dropdown-item icon="Download" @click.stop="downloadDocument(row)">
447+
<el-dropdown-item icon="Download" @click.stop="downloadDocument(row)"
448+
v-if="permissionPrecise.doc_download(id)"
449+
>
448450
{{ $t('views.document.setting.download') }}
449451
</el-dropdown-item>
450452
<el-dropdown-item

ui/src/views/model/index.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ import { modelTypeList, allObj } from '@/views/model/component/data'
124124
import CreateModelDialog from '@/views/model/component/CreateModelDialog.vue'
125125
import SelectProviderDialog from '@/views/model/component/SelectProviderDialog.vue'
126126
import { t } from '@/locales'
127-
import { PermissionConst, RoleConst } from '@/utils/permission/data'
128127
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
129128
import { useRoute } from 'vue-router'
130129
import permissionMap from '@/permission'

0 commit comments

Comments
 (0)