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

145 lines
2.9 KiB
TypeScript
Raw Normal View History

2023-09-11 16:33:57 +08:00
import axios from 'axios';
import { DataGrid, Pagination } from '@/types/global';
2023-09-24 22:08:33 +08:00
import { TableData } from '@arco-design/web-vue/es/table/interface';
2023-09-11 16:33:57 +08:00
/**
*
*/
export interface HostCreateRequest {
name?: string;
code?: string;
address?: string;
2023-09-14 16:18:41 +08:00
tags?: Array<number>;
2023-09-11 16:33:57 +08:00
}
/**
*
*/
export interface HostUpdateRequest extends HostCreateRequest {
2023-09-25 14:36:13 +08:00
id?: number;
2023-09-11 16:33:57 +08:00
}
/**
*
*/
export interface HostQueryRequest extends Pagination {
2023-10-07 18:08:31 +08:00
searchValue?: string;
2023-09-11 16:33:57 +08:00
id?: number;
name?: string;
code?: string;
address?: string;
2023-09-14 16:18:41 +08:00
favorite?: boolean;
tags?: Array<number>;
extra?: boolean;
config?: boolean;
2023-09-11 16:33:57 +08:00
}
/**
*
*/
2023-09-24 22:08:33 +08:00
export interface HostQueryResponse extends TableData {
2023-09-11 16:33:57 +08:00
id?: number;
name?: string;
code?: string;
address?: string;
createTime: number;
updateTime: number;
creator: string;
updater: string;
2023-09-14 16:18:41 +08:00
favorite: boolean;
tags: Record<number, string>;
configs: Record<string, HostConfigQueryResponse>;
}
/**
*
*/
export interface HostConfigRequest {
2023-09-20 10:40:59 +08:00
id?: number;
2023-09-21 17:12:00 +08:00
hostId?: number;
2023-09-14 16:18:41 +08:00
version?: number;
2023-09-20 10:40:59 +08:00
status?: number;
2023-09-14 16:18:41 +08:00
config?: string;
}
/**
*
*/
export interface HostConfigQueryResponse {
id: number;
2023-09-20 10:40:59 +08:00
type: string;
2023-09-14 16:18:41 +08:00
version: number;
2023-09-20 10:40:59 +08:00
status: number;
2023-09-14 16:18:41 +08:00
config: Record<string, any>;
2023-09-11 16:33:57 +08:00
}
/**
*
*/
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
*/
2023-09-14 16:18:41 +08:00
export function getHost(params: HostQueryRequest) {
return axios.get<HostQueryResponse>('/asset/host/get', { params });
2023-09-11 16:33:57 +08:00
}
/**
*
*/
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 } });
}
/**
2023-09-14 16:18:41 +08:00
*
*/
export function getHostConfig(params: HostConfigRequest) {
return axios.get<HostConfigQueryResponse>('/asset/host/get-config', { params });
}
/**
* -
*/
export function getHostConfigAll(params: HostConfigRequest) {
return axios.get<Array<HostConfigQueryResponse>>('/asset/host/get-config-all', { params });
}
/**
*
2023-09-11 16:33:57 +08:00
*/
2023-09-14 16:18:41 +08:00
export function updateHostConfig(request: HostConfigRequest) {
return axios.put('/asset/host/update-config', request);
2023-09-11 16:33:57 +08:00
}
2023-09-20 10:40:59 +08:00
/**
*
*/
export function updateHostConfigStatus(request: HostConfigRequest) {
return axios.put('/asset/host/update-config-status', request);
}