import api from './client'; import type { BasicSummary, CookieCheckResult, CookieDuplicateResponse, CookieItem, CookieOperationCheckResult, CookieOperationItem, LoginTaskItem, PageParams, PaginatedResponse, MessageDeletedResponse, MessageResponse } from './types'; export const cookieApi = { list: () => api.get('/cookies'), listPaged: (params: PageParams & { include_cookie?: boolean; account_names?: string }) => api.get, PaginatedResponse>('/cookies', { params }), summary: () => api.get('/cookies/summary'), listOperations: (params: PageParams) => api.get, PaginatedResponse>('/cookies/operations', { params }), duplicates: () => api.get('/cookies/duplicates'), get: (id: number) => api.get(`/cookies/${id}`), exportCsv: (format?: string, accountNames?: string) => api.get('/cookies/export', { responseType: 'blob', params: { ...(format ? { format } : {}), ...(accountNames ? { account_names: accountNames } : {}), }, }), check: (ids: number[]) => api.post<{ results: CookieCheckResult[] }, { results: CookieCheckResult[] }>('/cookies/check', null, { params: { ids: ids.join(',') } }), checkOperations: (ids: number[]) => api.post<{ results: CookieOperationCheckResult[] }, { results: CookieOperationCheckResult[] }>('/cookies/operations/check', null, { params: { ids: ids.join(',') } }), relogin: (ids: number[]) => api.post<{ batch_id: string; count: number; skipped: number; success: boolean }, { batch_id: string; count: number; skipped: number; success: boolean }>('/cookies/relogin', { ids }), reloginOperations: (ids: number[]) => api.post<{ batch_id: string; count: number; skipped: number; success: boolean }, { batch_id: string; count: number; skipped: number; success: boolean }>('/cookies/operations/relogin', { ids }), loginTasks: (batchId: string) => api.get('/login/tasks', { params: { batch_id: batchId } }), delete: (id: number) => api.delete(`/cookies/${id}`), deleteBatch: (ids: number[]) => api.delete('/cookies/batch', { params: { task_ids: ids.join(',') } }), };