doc-forge-reds/web/src/api/tasks.ts

28 lines
802 B
TypeScript

import request from "./request";
import type { GenerationTask } from "../types";
export async function triggerGeneration(templateId: string) {
const { data } = await request.post<{ task_id: string; status: string }>(
`/templates/${templateId}/generate`
);
return data;
}
export async function getTaskStatus(taskId: string) {
const { data } = await request.get<GenerationTask>(`/tasks/${taskId}`);
return data;
}
export async function listTasks() {
const { data } = await request.get<GenerationTask[]>("/tasks");
return data;
}
export async function cancelTask(taskId: string) {
await request.post(`/tasks/${taskId}/cancel`);
}
export function getTaskDownloadUrl(taskId: string, format: "docx" | "pdf" = "docx") {
return `/api/v1/tasks/${taskId}/download?format=${format}`;
}