import api from './client'; import type { HuyaAccountItem, HuyaConfig, HuyaCookieItem, HuyaCookieImportResult, HuyaGoodsItem, HuyaPasswordLoginRequest, HuyaPasswordLoginResult, HuyaRechargeGoodsItem, HuyaTaskBatchRequest, HuyaTaskBatchResult, HuyaTaskItem, MessageCountResponse, MessageDeletedResponse, MessageResponse, } from './types'; export const huyaApi = { taskTypes: () => api.get, Record>('/huya/task-types'), listAccounts: (params?: { assigned_only?: boolean; tag?: string; has_cookie?: boolean }) => api.get('/huya/accounts', { params }), importCookies: (text: string, tag: string = '') => api.post('/huya/accounts/import-cookies', { text, tag }), passwordLogin: (data: HuyaPasswordLoginRequest) => api.post('/huya/accounts/password-login', data), assign: (id: number, assigned_to: number | null) => api.put(`/huya/accounts/${id}/assign`, { assigned_to }), batchAssign: (account_ids: number[], assigned_to: number | null) => api.post('/huya/accounts/batch-assign', { account_ids, assigned_to }), assignmentsSummary: () => api.get<{ support_users: { id: number; username: string; assigned_count: number }[]; unassigned_count: number }, { support_users: { id: number; username: string; assigned_count: number }[]; unassigned_count: number }>('/huya/accounts/assignments/summary'), setTag: (id: number, tag: string) => api.put(`/huya/accounts/${id}/tag`, { tag }), batchTag: (account_ids: number[], tag: string) => api.put('/huya/accounts/batch-tag', { account_ids, tag }), listTags: () => api.get('/huya/accounts/tags/list'), deleteAccount: (id: number) => api.delete(`/huya/accounts/${id}`), deleteAccounts: (accountIds: number[]) => api.delete('/huya/accounts/batch', { params: { account_ids: accountIds.join(',') } }), listCookies: () => api.get('/huya/cookies'), exportCookies: (format?: string) => api.get('/huya/cookies/export', { responseType: 'blob', params: format ? { format } : {} }), deleteCookie: (id: number) => api.delete(`/huya/cookies/${id}`), deleteCookies: (accountIds: number[]) => api.delete('/huya/cookies/batch', { params: { account_ids: accountIds.join(',') } }), getConfig: () => api.get('/huya/config'), updateConfig: (data: Partial) => api.put('/huya/config', data), listGoods: () => api.get('/huya/goods'), listRechargeGoods: () => api.get('/huya/recharge-goods'), createTasks: (data: HuyaTaskBatchRequest) => api.post('/huya/tasks/batch', data), listTasks: (batchId?: string) => api.get('/huya/tasks', { params: batchId ? { batch_id: batchId } : {} }), };