Skip to content

Commit f84aa3e

Browse files
authored
feat: permission split (#3347)
1 parent c0979e2 commit f84aa3e

File tree

14 files changed

+211
-28
lines changed

14 files changed

+211
-28
lines changed

ui/src/permission/index.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import tool from '@/permission/tool'
2+
import model from '@/permission/model'
3+
import knowledge from '@/permission/knowledge'
4+
const permission = {
5+
tool,
6+
model,
7+
knowledge,
8+
}
9+
export default permission
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import systemShare from './system-share'
2+
import workspace from './workspace'
3+
import systemManage from './system-manage'
4+
const permission = {
5+
systemShare,
6+
workspace,
7+
systemManage,
8+
}
9+
export default permission
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { hasPermission } from '@/utils/permission/index'
2+
import { ComplexPermission } from '@/utils/permission/type'
3+
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
4+
const workspace = {
5+
is_share: () =>
6+
hasPermission(
7+
new ComplexPermission(
8+
[RoleConst.ADMIN],
9+
[PermissionConst.SHARED_TOOL_READ],
10+
[EditionConst.IS_EE],
11+
'OR',
12+
),
13+
'OR',
14+
),
15+
delete: () =>
16+
hasPermission(
17+
[
18+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
19+
RoleConst.USER.getWorkspaceRole,
20+
PermissionConst.TOOL_DELETE.getWorkspacePermission,
21+
],
22+
'OR',
23+
),
24+
}
25+
26+
export default workspace
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { hasPermission } from '@/utils/permission/index'
2+
import { ComplexPermission } from '@/utils/permission/type'
3+
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
4+
const share = {
5+
is_share: () => false,
6+
}
7+
export default share
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { hasPermission } from '@/utils/permission/index'
2+
import { ComplexPermission } from '@/utils/permission/type'
3+
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
4+
const workspace = {
5+
is_share: () =>
6+
hasPermission(
7+
new ComplexPermission(
8+
[RoleConst.ADMIN],
9+
[PermissionConst.SHARED_TOOL_READ],
10+
[EditionConst.IS_EE],
11+
'OR',
12+
),
13+
'OR',
14+
),
15+
}
16+
17+
export default workspace

ui/src/permission/model/index.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import systemShare from './system-share'
2+
import workspace from './workspace'
3+
import systemManage from './system-manage'
4+
const permission = {
5+
systemShare,
6+
workspace,
7+
systemManage,
8+
}
9+
export default permission
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { hasPermission } from '@/utils/permission/index'
2+
import { ComplexPermission } from '@/utils/permission/type'
3+
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
4+
const workspace = {
5+
is_share: () =>
6+
hasPermission(
7+
new ComplexPermission(
8+
[RoleConst.ADMIN],
9+
[PermissionConst.SHARED_TOOL_READ],
10+
[EditionConst.IS_EE],
11+
'OR',
12+
),
13+
'OR',
14+
),
15+
delete: () =>
16+
hasPermission(
17+
[
18+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
19+
RoleConst.USER.getWorkspaceRole,
20+
PermissionConst.TOOL_DELETE.getWorkspacePermission,
21+
],
22+
'OR',
23+
),
24+
}
25+
26+
export default workspace
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { hasPermission } from '@/utils/permission/index'
2+
import { ComplexPermission } from '@/utils/permission/type'
3+
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
4+
const share = {
5+
is_share: () => false,
6+
}
7+
export default share
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { hasPermission } from '@/utils/permission/index'
2+
import { ComplexPermission } from '@/utils/permission/type'
3+
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
4+
const workspace = {
5+
is_share: () =>
6+
hasPermission(
7+
new ComplexPermission(
8+
[RoleConst.ADMIN],
9+
[PermissionConst.SHARED_TOOL_READ],
10+
[EditionConst.IS_EE],
11+
'OR',
12+
),
13+
'OR',
14+
),
15+
}
16+
17+
export default workspace

ui/src/permission/tool/index.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import systemShare from './system-share'
2+
import workspace from './workspace'
3+
import systemManage from './system-manage'
4+
const permission = {
5+
systemShare,
6+
workspace,
7+
systemManage,
8+
}
9+
export default permission

0 commit comments

Comments
 (0)