feat(role): 展示角色人员列表
This commit is contained in:
@@ -1,13 +1,15 @@
|
||||
import { unwrapApiResponse, unwrapNullableApiResponse } from '@/utils/api-response'
|
||||
import { request } from '@/utils/request'
|
||||
import type { ApiResponse } from '@/types/common'
|
||||
import type { ApiResponse, PageResult } from '@/types/common'
|
||||
|
||||
import type {
|
||||
BackendCollection,
|
||||
BackendPage,
|
||||
CreateRoleRequest,
|
||||
PermissionResourceNodeDto,
|
||||
RoleDataScopeRequest,
|
||||
RoleDataScopeResponseDto,
|
||||
RoleMemberDto,
|
||||
RoleRecord,
|
||||
RoleResponseDto,
|
||||
UpdateRoleRequest,
|
||||
@@ -21,6 +23,7 @@ function normalizeRole(dto: RoleResponseDto, index: number): RoleRecord {
|
||||
code: dto.code,
|
||||
name: dto.name,
|
||||
description: dto.description ?? '',
|
||||
userCount: dto.userCount ?? 0,
|
||||
color: fallbackColors[index % fallbackColors.length],
|
||||
status: dto.status ?? 'DISABLED',
|
||||
menuPermissionCount: dto.menuPermissionCount ?? 0,
|
||||
@@ -50,6 +53,24 @@ export async function getAssignableRoles(): Promise<RoleRecord[]> {
|
||||
return normalizeCollection(unwrapApiResponse(response)).map(normalizeRole)
|
||||
}
|
||||
|
||||
export async function getRoleMembers(
|
||||
roleId: string,
|
||||
page: number,
|
||||
pageSize: number,
|
||||
): Promise<PageResult<RoleMemberDto>> {
|
||||
const response = await request.get<ApiResponse<BackendPage<RoleMemberDto>>>(
|
||||
`/v1/roles/${encodeURIComponent(roleId)}/users`,
|
||||
{ params: { page, size: pageSize } },
|
||||
)
|
||||
const result = unwrapApiResponse(response)
|
||||
return {
|
||||
records: result.records ?? result.items ?? result.content ?? [],
|
||||
total: result.total ?? 0,
|
||||
page: result.page ?? page,
|
||||
pageSize: result.size ?? pageSize,
|
||||
}
|
||||
}
|
||||
|
||||
export async function getRolePermissionTree(): Promise<PermissionResourceNodeDto[]> {
|
||||
const response = await request.get<ApiResponse<PermissionResourceNodeDto[]>>(
|
||||
'/v1/roles/permission-tree',
|
||||
|
||||
@@ -166,6 +166,7 @@ export interface RoleResponseDto {
|
||||
code: string
|
||||
name: string
|
||||
description?: string | null
|
||||
userCount?: number | null
|
||||
status?: RoleStatus | null
|
||||
menuPermissionCount?: number | null
|
||||
buttonPermissionCount?: number | null
|
||||
@@ -176,6 +177,14 @@ export interface RoleResponseDto {
|
||||
version?: number | null
|
||||
}
|
||||
|
||||
export interface RoleMemberDto {
|
||||
id: string
|
||||
employeeId?: number | null
|
||||
displayName: string
|
||||
employeeNo?: string | null
|
||||
campusName?: string | null
|
||||
}
|
||||
|
||||
export interface CreateRoleRequest {
|
||||
code: string
|
||||
name: string
|
||||
|
||||
Reference in New Issue
Block a user