Files
gpustack-ui/src/pages/usage/apis/index.ts
T
2026-05-06 12:27:22 +08:00

67 lines
1.5 KiB
TypeScript

import { request } from '@umijs/max';
import {
BreakdownItem,
FilterOptionType,
UsageBreakdownResponse,
UsageMeta
} from '../config/types';
export const USAGE_META = '/usage/meta';
export const USAGE_BREAKDOWN = '/usage/breakdown';
export const MODEL_ROUTE_TARGETS = '/model-route-targets';
export async function queryUsageMetaData(
params: Record<string, any>,
options?: any
): Promise<UsageMeta> {
return request<UsageMeta>(USAGE_META, {
params,
method: 'GET',
cancelToken: options?.token
});
}
export async function queryUsageTimeSeriesData(
params: {
start_date: string;
end_date: string;
scope: string;
metric: string;
group_by: string[];
granularity: string;
page?: number;
perPage?: number;
sort_by?: string;
filters: {
models?: FilterOptionType[];
users?: FilterOptionType[];
api_keys?: FilterOptionType[];
};
},
options?: any
): Promise<UsageBreakdownResponse> {
return request<UsageBreakdownResponse>(USAGE_BREAKDOWN, {
data: params,
method: 'POST',
cancelToken: options?.token
});
}
export async function queryUsageBreakdownList(
params: Global.SearchParams & {
filters: {
models?: FilterOptionType[];
users?: FilterOptionType[];
api_keys?: FilterOptionType[];
};
},
options?: any
) {
return request<Global.PageResponse<BreakdownItem>>(USAGE_BREAKDOWN, {
data: params,
method: 'POST',
cancelToken: options?.token
});
}