🔨 执行日志.

This commit is contained in:
lijiahang
2024-03-13 19:17:50 +08:00
parent 149e5bc40c
commit b0afc8f80a
23 changed files with 1911 additions and 12 deletions

View File

@@ -0,0 +1,135 @@
import type { DataGrid, Pagination } from '@/types/global';
import type { TableData } from '@arco-design/web-vue/es/table/interface';
import axios from 'axios';
import qs from 'query-string';
/**
* 主机执行记录创建请求
*/
export interface ExecHostLogCreateRequest {
logId?: number;
hostId?: number;
hostName?: string;
status?: string;
command?: string;
parameter?: string;
exitStatus?: number;
logPath?: string;
errorMessage?: string;
startTime?: string;
finishTime?: string;
}
/**
* 主机执行记录更新请求
*/
export interface ExecHostLogUpdateRequest extends ExecHostLogCreateRequest {
id?: number;
}
/**
* 主机执行记录查询请求
*/
export interface ExecHostLogQueryRequest extends Pagination {
searchValue?: string;
id?: number;
logId?: number;
hostId?: number;
hostName?: string;
status?: string;
command?: string;
parameter?: string;
exitStatus?: number;
logPath?: string;
errorMessage?: string;
startTime?: string;
finishTime?: string;
}
/**
* 主机执行记录查询响应
*/
export interface ExecHostLogQueryResponse extends TableData {
id: number;
logId: number;
hostId: number;
hostName: string;
status: string;
command: string;
parameter: string;
exitStatus: number;
logPath: string;
errorMessage: string;
startTime: number;
finishTime: number;
createTime: number;
updateTime: number;
creator: string;
updater: string;
}
/**
* 创建主机执行记录
*/
export function createExecHostLog(request: ExecHostLogCreateRequest) {
return axios.post('/asset/exec-host-log/create', request);
}
/**
* 更新主机执行记录
*/
export function updateExecHostLog(request: ExecHostLogUpdateRequest) {
return axios.put('/asset/exec-host-log/update', request);
}
/**
* 查询主机执行记录
*/
export function getExecHostLog(id: number) {
return axios.get<ExecHostLogQueryResponse>('/asset/exec-host-log/get', { params: { id } });
}
/**
* 批量查询主机执行记录
*/
export function batchGetExecHostLogList(idList: Array<number>) {
return axios.get<ExecHostLogQueryResponse[]>('/asset/exec-host-log/batch-get', {
params: { idList },
paramsSerializer: params => {
return qs.stringify(params, { arrayFormat: 'comma' });
}
});
}
/**
* 查询全部主机执行记录
*/
export function getExecHostLogList(request: ExecHostLogQueryRequest) {
return axios.post<Array<ExecHostLogQueryResponse>>('/asset/exec-host-log/list', request);
}
/**
* 分页查询主机执行记录
*/
export function getExecHostLogPage(request: ExecHostLogQueryRequest) {
return axios.post<DataGrid<ExecHostLogQueryResponse>>('/asset/exec-host-log/query', request);
}
/**
* 删除主机执行记录
*/
export function deleteExecHostLog(id: number) {
return axios.delete('/asset/exec-host-log/delete', { params: { id } });
}
/**
* 批量删除主机执行记录
*/
export function batchDeleteExecHostLog(idList: Array<number>) {
return axios.delete('/asset/exec-host-log/batch-delete', {
params: { idList },
paramsSerializer: params => {
return qs.stringify(params, { arrayFormat: 'comma' });
}
});
}

View File

@@ -0,0 +1,95 @@
import type { DataGrid, Pagination } from '@/types/global';
import type { TableData } from '@arco-design/web-vue/es/table/interface';
import axios from 'axios';
import qs from 'query-string';
/**
* 执行记录查询请求
*/
export interface ExecLogQueryRequest extends Pagination {
id?: number;
userId?: number;
description?: string;
command?: string;
status?: string;
startTimeRange?: string[];
}
/**
* 执行记录查询响应
*/
export interface ExecLogQueryResponse extends TableData, ExecLogQueryExtraResponse {
id: number;
userId: number;
username: string;
description: string;
command: string;
timeout: number;
status: string;
startTime: number;
finishTime: number;
}
/**
* 执行记录查询响应 拓展
*/
export interface ExecLogQueryExtraResponse {
hosts: Array<ExecHostLogQueryResponse>;
}
/**
* 主机执行记录查询响应
*/
export interface ExecHostLogQueryResponse extends TableData {
id: number;
logId: number;
hostId: number;
hostName: string;
status: string;
command: string;
parameter: string;
exitStatus: number;
errorMessage: string;
startTime: number;
finishTime: number;
}
/**
* 查询执行记录
*/
export function getExecLog(id: number) {
return axios.get<ExecLogQueryResponse>('/asset/exec-log/get', { params: { id } });
}
/**
* 分页查询执行记录
*/
export function getExecLogPage(request: ExecLogQueryRequest) {
return axios.post<DataGrid<ExecLogQueryResponse>>('/asset/exec-log/query', request);
}
/**
* 查询主机执行记录
*/
export function getExecHostLogList(logId: number) {
return axios.get<Array<ExecHostLogQueryResponse>>('/asset/exec-log/host-list', { params: { logId } });
}
/**
* 删除执行记录
*/
export function deleteExecLog(id: number) {
return axios.delete('/asset/exec-log/delete', { params: { id } });
}
/**
* 批量删除执行记录
*/
export function batchDeleteExecLog(idList: Array<number>) {
return axios.delete('/asset/exec-log/batch-delete', {
params: { idList },
paramsSerializer: params => {
return qs.stringify(params, { arrayFormat: 'comma' });
}
});
}