Skip to content

Commit ba50751

Browse files
committed
feat: System chat user permission
1 parent c95a49c commit ba50751

File tree

2 files changed

+38
-67
lines changed

2 files changed

+38
-67
lines changed

ui/src/utils/permission/data.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ const PermissionConst = {
7272
CHAT_USER_GROUP: new Permission('CHAT_USER:READ+USER_GROUP'),
7373

7474
USER_GROUP_READ: new Permission('USER_GROUP:READ'),
75+
USER_GROUP_CREATE: new Permission('USER_GROUP:READ+CREATE'),
76+
USER_GROUP_EDIT: new Permission('USER_GROUP:READ+EDIT'),
77+
USER_GROUP_DELETE: new Permission('USER_GROUP:READ+DELETE'),
78+
USER_GROUP_ADD_MEMBER: new Permission('USER_GROUP:READ+ADD_MEMBER'),
79+
USER_GROUP_REMOVE_MEMBER: new Permission('USER_GROUP:READ+REMOVE_MEMBER'),
7580

7681

7782
ROLE_READ: new Permission('ROLE:READ'),

ui/src/views/system-chat-user/chat-user/index.vue

Lines changed: 33 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -14,37 +14,29 @@
1414
@click="createUser()"
1515
v-hasPermission="
1616
new ComplexPermission(
17-
[
18-
RoleConst.ADMIN,
19-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
20-
RoleConst.USER.getWorkspaceRole,
21-
],
22-
[PermissionConst.WORKSPACE_CHAT_USER_CREATE.getWorkspacePermission],
23-
[],
24-
'OR',
25-
)
26-
"
17+
[RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
18+
[PermissionConst.CHAT_USER_CREATE, PermissionConst.WORKSPACE_CHAT_USER_CREATE],
19+
[],'OR',)"
2720
>
2821
{{ t('views.userManage.createUser') }}
2922
</el-button>
30-
<el-button @click="syncUsers">
23+
<el-button @click="syncUsers"
24+
v-hasPermission="
25+
new ComplexPermission(
26+
[RoleConst.ADMIN],
27+
[PermissionConst.CHAT_USER_SYNC],
28+
[],'OR',)"
29+
>
3130
{{ $t('views.chatUser.syncUsers') }}
3231
</el-button>
3332
<el-button
3433
:disabled="multipleSelection.length === 0"
3534
@click="setUserGroups"
3635
v-hasPermission="
3736
new ComplexPermission(
38-
[
39-
RoleConst.ADMIN,
40-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
41-
RoleConst.USER.getWorkspaceRole,
42-
],
43-
[PermissionConst.WORKSPACE_CHAT_USER_GROUP.getWorkspacePermission],
44-
[],
45-
'OR',
46-
)
47-
"
37+
[RoleConst.ADMIN,RoleConst.WORKSPACE_MANAGE],
38+
[PermissionConst.CHAT_USER_GROUP, PermissionConst.WORKSPACE_CHAT_USER_GROUP],
39+
[],'OR',)"
4840
>
4941
{{ $t('views.chatUser.setUserGroups') }}
5042
</el-button>
@@ -53,16 +45,9 @@
5345
@click="handleBatchDelete"
5446
v-hasPermission="
5547
new ComplexPermission(
56-
[
57-
RoleConst.ADMIN,
58-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
59-
RoleConst.USER.getWorkspaceRole,
60-
],
61-
[PermissionConst.WORKSPACE_CHAT_USER_DELETE.getWorkspacePermission],
62-
[],
63-
'OR',
64-
)
65-
"
48+
[RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
49+
[PermissionConst.WORKSPACE_CHAT_USER_DELETE, PermissionConst.CHAT_USER_DELETE],
50+
[],'OR',)"
6651
>
6752
{{ $t('common.delete') }}
6853
</el-button>
@@ -186,6 +171,10 @@
186171
size="small"
187172
v-model="row.is_active"
188173
:before-change="() => changeState(row)"
174+
v-if="hasPermission(new ComplexPermission(
175+
[RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
176+
[PermissionConst.CHAT_USER_EDIT, PermissionConst.WORKSPACE_CHAT_USER_EDIT],
177+
[],'OR'),'OR')"
189178
/>
190179
</span>
191180
<el-divider direction="vertical" />
@@ -195,18 +184,10 @@
195184
text
196185
@click.stop="editUser(row)"
197186
:title="$t('common.edit')"
198-
v-hasPermission="
199-
new ComplexPermission(
200-
[
201-
RoleConst.ADMIN,
202-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
203-
RoleConst.USER.getWorkspaceRole,
204-
],
205-
[PermissionConst.WORKSPACE_CHAT_USER_EDIT.getWorkspacePermission],
206-
[],
207-
'OR',
208-
)
209-
"
187+
v-if="hasPermission(new ComplexPermission(
188+
[RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
189+
[PermissionConst.CHAT_USER_EDIT, PermissionConst.WORKSPACE_CHAT_USER_EDIT],
190+
[],'OR'),'OR')"
210191
>
211192
<el-icon>
212193
<EditPen />
@@ -220,18 +201,10 @@
220201
text
221202
@click.stop="editPwdUser(row)"
222203
:title="$t('views.userManage.setting.updatePwd')"
223-
v-hasPermission="
224-
new ComplexPermission(
225-
[
226-
RoleConst.ADMIN,
227-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
228-
RoleConst.USER.getWorkspaceRole,
229-
],
230-
[PermissionConst.WORKSPACE_CHAT_USER_EDIT.getWorkspacePermission],
231-
[],
232-
'OR',
233-
)
234-
"
204+
v-if="hasPermission(new ComplexPermission(
205+
[RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
206+
[PermissionConst.CHAT_USER_EDIT, PermissionConst.WORKSPACE_CHAT_USER_EDIT],
207+
[],'OR'),'OR')"
235208
>
236209
<el-icon>
237210
<Lock />
@@ -245,18 +218,10 @@
245218
text
246219
@click.stop="deleteUserManage(row)"
247220
:title="$t('common.delete')"
248-
v-hasPermission="
249-
new ComplexPermission(
250-
[
251-
RoleConst.ADMIN,
252-
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
253-
RoleConst.USER.getWorkspaceRole,
254-
],
255-
[PermissionConst.WORKSPACE_CHAT_USER_DELETE.getWorkspacePermission],
256-
[],
257-
'OR',
258-
)
259-
"
221+
v-if="hasPermission(new ComplexPermission(
222+
[RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
223+
[PermissionConst.CHAT_USER_DELETE, PermissionConst.WORKSPACE_CHAT_USER_DELETE],
224+
[],'OR'),'OR')"
260225
>
261226
<el-icon>
262227
<Delete />
@@ -301,6 +266,7 @@ import SystemGroupApi from '@/api/system/user-group'
301266
import type { ListItem } from '@/api/type/common'
302267
import { PermissionConst, RoleConst } from '@/utils/permission/data'
303268
import { ComplexPermission } from '@/utils/permission/type'
269+
import { hasPermission } from '@/utils/permission'
304270
305271
const search_type = ref('username')
306272
const search_form = ref<{

0 commit comments

Comments
 (0)