Files
orion-visor/orion-visor-ui/src/api/system/dict-key.ts

97 lines
2.0 KiB
TypeScript
Raw Normal View History

2023-10-25 10:26:14 +08:00
import type { DataGrid, Pagination } from '@/types/global';
import type { TableData } from '@arco-design/web-vue/es/table/interface';
2023-10-18 15:06:45 +08:00
import axios from 'axios';
import qs from 'query-string';
/**
*
*/
export interface DictKeyCreateRequest {
keyName?: string;
valueType?: string;
extraSchema?: string;
description?: string;
}
/**
*
*/
export interface DictKeyUpdateRequest extends DictKeyCreateRequest {
id?: number;
}
2023-10-20 17:07:53 +08:00
/**
*
*/
export interface DictKeyQueryRequest extends Pagination {
searchValue?: string;
id?: number;
keyName?: string;
description?: string;
}
2023-10-18 15:06:45 +08:00
/**
*
*/
export interface DictKeyQueryResponse extends TableData {
2023-11-01 18:57:53 +08:00
id: number;
keyName: string;
valueType: string;
extraSchema: string;
description: string;
2023-10-18 15:06:45 +08:00
}
/**
*
*/
export function createDictKey(request: DictKeyCreateRequest) {
return axios.post('/infra/dict-key/create', request);
}
/**
*
*/
export function updateDictKey(request: DictKeyUpdateRequest) {
return axios.put('/infra/dict-key/update', request);
}
/**
*
*/
export function getDictKeyList() {
return axios.post<Array<DictKeyQueryResponse>>('/infra/dict-key/list');
}
2023-10-20 17:07:53 +08:00
/**
*
*/
export function getDictKeyPage(request: DictKeyQueryRequest) {
return axios.post<DataGrid<DictKeyQueryResponse>>('/infra/dict-key/query', request);
}
2023-10-27 19:15:13 +08:00
/**
*
*/
export function refreshCache() {
return axios.put('/infra/dict-key/refresh-cache');
}
2023-10-18 15:06:45 +08:00
/**
*
*/
export function deleteDictKey(id: number) {
return axios.delete('/infra/dict-key/delete', { params: { id } });
}
/**
*
*/
export function batchDeleteDictKey(idList: Array<number>) {
return axios.delete('/infra/dict-key/batch-delete', {
params: { idList },
paramsSerializer: params => {
return qs.stringify(params, { arrayFormat: 'comma' });
}
});
}