feat(web): folder-sync checkboxes + per-account mapping API client

This commit is contained in:
2026-07-03 11:55:40 +07:00
parent bdb3b72f38
commit 1ba7b54e05
3 changed files with 96 additions and 6 deletions
+16
View File
@@ -33,6 +33,8 @@ export interface Account {
skipped: number
errors: number
last_error?: string
folder_mapping?: Record<string, string>
excluded_folders?: string[]
}
export interface TaskDetail {
@@ -104,6 +106,20 @@ export const probeFolders = (
export const setFolderMapping = (taskId: number, mapping: Record<string, string>) =>
api(`/api/tasks/${taskId}/folder-mapping`, { ...jsonBody({ mapping }), method: 'PUT' })
export const probeAccountFolders = (taskId: number, accId: number) =>
api<ProbeResult>(`/api/tasks/${taskId}/accounts/${accId}/probe`, { method: 'POST' })
export const setAccountFolderMapping = (
taskId: number,
accId: number,
mapping: Record<string, string>,
excluded: string[],
) =>
api(`/api/tasks/${taskId}/accounts/${accId}/folder-mapping`, {
...jsonBody({ mapping, excluded }),
method: 'PUT',
})
export const listTasks = () => api<Task[]>('/api/tasks')
export const getTask = (id: number) => api<TaskDetail>(`/api/tasks/${id}`)