Files
orion-visor/orion-ops-ui/src/api/exec/upload-task.ts

145 lines
3.1 KiB
TypeScript
Raw Normal View History

2024-05-09 00:06:08 +08:00
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 UploadTaskCreateRequest {
remotePath?: string;
description?: string;
2024-05-09 15:43:35 +08:00
hostIdList?: Array<number>;
files?: Array<UploadTaskFileCreateRequest>;
}
/**
*
*/
export interface UploadTaskFileCreateRequest {
fileId?: string;
filePath?: string;
fileSize?: number;
2024-05-09 00:06:08 +08:00
}
/**
*
*/
export interface UploadTaskCreateResponse {
id: number;
token: string;
}
/**
*
*/
export interface UploadTaskQueryRequest extends Pagination {
id?: number;
userId?: number;
remotePath?: string;
description?: string;
status?: string;
createTimeRange?: string[];
}
/**
*
*/
export interface UploadTaskQueryResponse extends TableData {
id: number;
userId: number;
username: string;
remotePath: string;
description: string;
status: string;
extraInfo: string;
startTime: number;
endTime: number;
createTime: number;
files: Array<UploadTaskFileQueryResponse>;
}
/**
*
*/
export interface UploadTaskFileQueryResponse {
id: number;
taskId: number;
hostId: number;
fileId: string;
filePath: string;
fileSize: number;
status: string;
startTime: number;
endTime: number;
current: number;
}
/**
*
*/
export function createUploadTask(request: UploadTaskCreateRequest) {
return axios.post<UploadTaskCreateResponse>('/asset/upload-task/create', request);
}
/**
*
*/
2024-05-10 11:23:22 +08:00
export function startUploadTask(id: number) {
return axios.post('/asset/upload-task/start', { id });
2024-05-09 00:06:08 +08:00
}
/**
*
*/
2024-05-10 11:23:22 +08:00
export function cancelUploadTask(id: number, failed: boolean) {
return axios.post('/asset/upload-task/cancel', { id, failed });
2024-05-09 00:06:08 +08:00
}
/**
*
*/
export function getUploadTask(id: number) {
return axios.get<UploadTaskQueryResponse>('/asset/upload-task/get', { params: { id } });
}
/**
*
*/
export function getUploadTaskPage(request: UploadTaskQueryRequest) {
return axios.post<DataGrid<UploadTaskQueryResponse>>('/asset/upload-task/query', request);
}
/**
*
*/
export function deleteUploadTask(id: number) {
return axios.delete('/asset/upload-task/delete', { params: { id } });
}
/**
*
*/
export function batchDeleteUploadTask(idList: Array<number>) {
return axios.delete('/asset/upload-task/batch-delete', {
params: { idList },
paramsSerializer: params => {
return qs.stringify(params, { arrayFormat: 'comma' });
}
});
}
/**
*
*/
export function getUploadTaskCount(request: UploadTaskQueryRequest) {
return axios.post<number>('/asset/upload-task/query-count', request);
}
/**
*
*/
export function clearUploadTask(request: UploadTaskQueryRequest) {
return axios.post<number>('/asset/upload-task/clear', request);
}