Files
orion-visor/orion-ops-ui/src/api/asset/host.ts

110 lines
2.2 KiB
TypeScript
Raw Normal View History

2023-09-11 16:33:57 +08:00
import axios from 'axios';
import qs from 'query-string';
import { DataGrid, Pagination } from '@/types/global';
/**
*
*/
export interface HostCreateRequest {
name?: string;
code?: string;
address?: string;
}
/**
*
*/
export interface HostUpdateRequest extends HostCreateRequest {
id: number;
}
/**
*
*/
export interface HostQueryRequest extends Pagination {
id?: number;
name?: string;
code?: string;
address?: string;
}
/**
*
*/
export interface HostQueryResponse {
id?: number;
name?: string;
code?: string;
address?: string;
createTime: number;
updateTime: number;
creator: string;
updater: string;
}
/**
*
*/
export function createHost(request: HostCreateRequest) {
return axios.post('/asset/host/create', request);
}
/**
* id
*/
export function updateHost(request: HostUpdateRequest) {
return axios.put('/asset/host/update', request);
}
/**
* id
*/
export function getHost(id: number) {
return axios.get<HostQueryResponse>('/asset/host/get', { params: { id } });
}
/**
* id
*/
export function getHostList(idList: Array<number>) {
return axios.get<HostQueryResponse[]>('/asset/host/list', {
params: { idList },
paramsSerializer: params => {
return qs.stringify(params, { arrayFormat: 'comma' });
}
});
}
/**
*
*/
export function getHostListAll(request: HostQueryRequest) {
return axios.post<Array<HostQueryResponse>>('/asset/host/list-all', request);
}
/**
*
*/
export function getHostPage(request: HostQueryRequest) {
return axios.post<DataGrid<HostQueryResponse>>('/asset/host/query', request);
}
/**
* id
*/
export function deleteHost(id: number) {
return axios.delete('/asset/host/delete', { params: { id } });
}
/**
* id
*/
export function batchDeleteHost(idList: Array<number>) {
return axios.delete('/asset/host/delete-batch', {
params: { idList },
paramsSerializer: params => {
return qs.stringify(params, { arrayFormat: 'comma' });
}
});
}