import apiClient from './client' import type { AccountsConfigResponse, AccountsListResponse, AccountConfigItem, RegisterTask, LoginTask, } from '@/types/api' export const accountsApi = { // 获取账户列表 list: () => apiClient.get('/admin/accounts'), // 获取账户配置 getConfig: () => apiClient.get('/admin/accounts-config'), // 更新账户配置 updateConfig: (accounts: AccountConfigItem[]) => apiClient.put('/admin/accounts-config', accounts), // 删除账户 delete: (accountId: string) => apiClient.delete(`/admin/accounts/${accountId}`), // 禁用账户 disable: (accountId: string) => apiClient.put(`/admin/accounts/${accountId}/disable`), // 启用账户 enable: (accountId: string) => apiClient.put(`/admin/accounts/${accountId}/enable`), // 批量启用账户(最多50个) bulkEnable: (accountIds: string[]) => apiClient.put( '/admin/accounts/bulk-enable', accountIds ), // 批量禁用账户(最多50个) bulkDisable: (accountIds: string[]) => apiClient.put( '/admin/accounts/bulk-disable', accountIds ), // 批量删除账户(最多50个) bulkDelete: (accountIds: string[]) => apiClient.put( '/admin/accounts/bulk-delete', accountIds ), startRegister: (count?: number, domain?: string, mail_provider?: string) => apiClient.post('/admin/register/start', { count, domain, mail_provider }), getRegisterTask: (taskId: string) => apiClient.get(`/admin/register/task/${taskId}`), getRegisterCurrent: () => apiClient.get('/admin/register/current'), cancelRegisterTask: (taskId: string, reason?: string) => apiClient.post<{ reason?: string }, RegisterTask>(`/admin/register/cancel/${taskId}`, reason ? { reason } : {}), startLogin: (accountIds: string[]) => apiClient.post('/admin/login/start', accountIds), getLoginTask: (taskId: string) => apiClient.get(`/admin/login/task/${taskId}`), getLoginCurrent: () => apiClient.get('/admin/login/current'), cancelLoginTask: (taskId: string, reason?: string) => apiClient.post<{ reason?: string }, LoginTask>(`/admin/login/cancel/${taskId}`, reason ? { reason } : {}), checkLogin: () => apiClient.post('/admin/login/check'), // 暂停自动刷新 pauseAutoRefresh: () => apiClient.post('/admin/auto-refresh/pause'), // 恢复自动刷新 resumeAutoRefresh: () => apiClient.post('/admin/auto-refresh/resume'), // 获取自动刷新状态 getAutoRefreshStatus: () => apiClient.get('/admin/auto-refresh/status'), }