import { apiFetch, apiFetchBlob, apiFetchFormData } from "@/lib/auth/api-client"; import { downloadBlob } from "@/lib/export/api"; import { DocumentEntityType, DocumentSummary } from "./types"; export function fetchDocuments( entityType: DocumentEntityType, entityId: string, ): Promise { const params = new URLSearchParams({ entityType, entityId }); return apiFetch(`/documents?${params.toString()}`); } export function uploadDocument( entityType: DocumentEntityType, entityId: string, file: File, ): Promise { const formData = new FormData(); formData.append("file", file); formData.append("entityType", entityType); formData.append("entityId", entityId); return apiFetchFormData("/documents", formData); } export function deleteDocument(id: string): Promise { return apiFetch(`/documents/${id}`, { method: "DELETE" }); } export async function downloadDocument(id: string, fileName: string): Promise { const { blob, filename } = await apiFetchBlob(`/documents/${id}/download`, fileName); downloadBlob(blob, filename); }