35 lines
1.9 KiB
TypeScript
35 lines
1.9 KiB
TypeScript
import api from './client';
|
|
import type {
|
|
DouyuConfig,
|
|
DouyuGoodsItem,
|
|
DouyuTaskAccountItem,
|
|
DouyuTaskBatchRequest,
|
|
DouyuTaskBatchResult,
|
|
DouyuTaskItem,
|
|
MessageResponse,
|
|
PageParams,
|
|
PaginatedResponse,
|
|
} from './types';
|
|
|
|
export const douyuApi = {
|
|
taskTypes: () => api.get<Record<string, string>, Record<string, string>>('/douyu/task-types'),
|
|
listAccounts: (params?: { search?: string; tag?: string; ids?: string }) =>
|
|
api.get<DouyuTaskAccountItem[], DouyuTaskAccountItem[]>('/douyu/accounts', { params }),
|
|
listAccountsPaged: (params: PageParams & { tag?: string; ids?: string }) =>
|
|
api.get<PaginatedResponse<DouyuTaskAccountItem>, PaginatedResponse<DouyuTaskAccountItem>>('/douyu/accounts', { params }),
|
|
getConfig: () => api.get<DouyuConfig, DouyuConfig>('/douyu/config'),
|
|
updateConfig: (data: Partial<DouyuConfig>) => api.put<DouyuConfig, DouyuConfig>('/douyu/config', data),
|
|
listGoods: () => api.get<DouyuGoodsItem[], DouyuGoodsItem[]>('/douyu/goods'),
|
|
listEsportsGoods: () => api.get<DouyuGoodsItem[], DouyuGoodsItem[]>('/douyu/esports-goods'),
|
|
createTasks: (data: DouyuTaskBatchRequest) =>
|
|
api.post<DouyuTaskBatchResult, DouyuTaskBatchResult>('/douyu/tasks/batch', data),
|
|
listTasks: (batchId?: string) =>
|
|
api.get<DouyuTaskItem[], DouyuTaskItem[]>('/douyu/tasks', { params: batchId ? { batch_id: batchId } : {} }),
|
|
listTasksPaged: (params: PageParams & { batch_id?: string; include_detail?: boolean }) =>
|
|
api.get<PaginatedResponse<DouyuTaskItem>, PaginatedResponse<DouyuTaskItem>>('/douyu/tasks', { params }),
|
|
getTask: (taskId: number) => api.get<DouyuTaskItem, DouyuTaskItem>(`/douyu/tasks/${taskId}`),
|
|
cleanupOrphans: () =>
|
|
api.post<{ message: string; cleaned: number; success: boolean }, { message: string; cleaned: number; success: boolean }>('/douyu/tasks/cleanup-orphans'),
|
|
stopBatch: (batchId: string) => api.post<MessageResponse, MessageResponse>(`/douyu/stop/${batchId}`),
|
|
};
|