DocWeave / frontend /src /api /documents.js
shak3008's picture
feat: retry failed docs, graceful shutdown, optimistic approve, timeline fix, dashboard latest workflow
37e137f
Raw
History Blame Contribute Delete
1.31 kB
import { apiRequest } from "./client";
/**
* Uploads one or more files to a workspace.
* Response shape (per app/schemas/document.py DocumentUploadResponse):
* {
* uploaded: [{ document_id, version_id, workflow_id, filename, processing_stage, uploaded_at }],
* failed: [{ filename, detail }]
* }
*/
export async function uploadDocuments(workspaceId, files) {
const formData = new FormData();
for (const file of files) {
formData.append("files", file);
}
return apiRequest(
`/documents/upload?workspace_id=${encodeURIComponent(workspaceId)}`,
"POST",
formData
);
}
/**
* GET /documents?workspace_id={uuid}
* Returns all documents in the workspace with latest version/workflow info.
*/
export async function listDocuments(workspaceId) {
return apiRequest(`/documents?workspace_id=${encodeURIComponent(workspaceId)}`);
}
/**
* DELETE /documents/{document_id}
* Deletes a document and cancels any active workflows.
*/
export async function deleteDocument(documentId) {
return apiRequest(`/documents/${documentId}`, "DELETE");
}
/**
* POST /documents/{document_id}/retry
* Retries processing a failed document.
*/
export async function retryDocument(documentId) {
return apiRequest(`/documents/${documentId}/retry`, "POST");
}