33 lines
2.4 KiB
TypeScript
33 lines
2.4 KiB
TypeScript
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<CookieItem[], CookieItem[]>('/cookies'),
|
|
listPaged: (params: PageParams & { include_cookie?: boolean; account_names?: string }) =>
|
|
api.get<PaginatedResponse<CookieItem>, PaginatedResponse<CookieItem>>('/cookies', { params }),
|
|
summary: () => api.get<BasicSummary, BasicSummary>('/cookies/summary'),
|
|
listOperations: (params: PageParams) =>
|
|
api.get<PaginatedResponse<CookieOperationItem>, PaginatedResponse<CookieOperationItem>>('/cookies/operations', { params }),
|
|
duplicates: () => api.get<CookieDuplicateResponse, CookieDuplicateResponse>('/cookies/duplicates'),
|
|
get: (id: number) => api.get<CookieItem, CookieItem>(`/cookies/${id}`),
|
|
exportCsv: (format?: string, accountNames?: string) => api.get<Blob, Blob>('/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<LoginTaskItem[], LoginTaskItem[]>('/login/tasks', { params: { batch_id: batchId } }),
|
|
delete: (id: number) => api.delete<MessageResponse, MessageResponse>(`/cookies/${id}`),
|
|
deleteBatch: (ids: number[]) => api.delete<MessageDeletedResponse, MessageDeletedResponse>('/cookies/batch', { params: { task_ids: ids.join(',') } }),
|
|
};
|