Files
orion-visor/orion-ops-ui/src/api/user/role.ts
2023-09-21 17:08:33 +08:00

115 lines
2.2 KiB
TypeScript

import axios from 'axios';
import { DataGrid, Pagination } from '@/types/global';
/**
* 角色创建请求
*/
export interface RoleCreateRequest {
name?: string;
code?: string;
status?: number;
}
/**
* 角色更新请求
*/
export interface RoleUpdateRequest extends RoleCreateRequest {
id: number | undefined;
}
/**
* 角色 分配绑定请求
*/
export interface RoleGrantMenuRequest extends RoleCreateRequest {
roleId: number;
menuIdList: Array<number>;
}
/**
* 角色查询请求
*/
export interface RoleQueryRequest extends Pagination {
id?: number;
name?: string;
code?: string;
status?: number;
}
/**
* 角色查询响应
*/
export interface RoleQueryResponse {
id?: number;
name?: string;
code?: string;
status?: number;
createTime: number;
updateTime: number;
creator: string;
updater: string;
}
/**
* 创建角色
*/
export function createRole(request: RoleCreateRequest) {
return axios.post('/infra/system-role/create', request);
}
/**
* 通过 id 更新角色
*/
export function updateRole(request: RoleUpdateRequest) {
return axios.put('/infra/system-role/update', request);
}
/**
* 通过 id 更新角色状态
*/
export function updateRoleStatus(request: RoleUpdateRequest) {
return axios.put('/infra/system-role/update-status', request);
}
/**
* 通过 id 查询角色
*/
export function getRole(id: number) {
return axios.get<RoleQueryResponse>('/infra/system-role/get', { params: { id } });
}
/**
* 查询所有角色
*/
export function getRoleList() {
return axios.get<RoleQueryResponse[]>('/infra/system-role/list');
}
/**
* 分页查询角色
*/
export function getRolePage(request: RoleQueryRequest) {
return axios.post<DataGrid<RoleQueryResponse>>('/infra/system-role/query', request);
}
/**
* 通过 id 删除角色
*/
export function deleteRole(id: number) {
return axios.delete('/infra/system-role/delete', { params: { id } });
}
/**
* 分配角色菜单
*/
export function grantRoleMenu(request: RoleGrantMenuRequest) {
return axios.put('/infra/system-role/grant-menu', request);
}
/**
* 获取角色菜单id
*/
export function getRoleMenuId(roleId: number) {
return axios.get<Array<number>>('/infra/system-role/get-menu-id', { params: { roleId } });
}