import { apiRequestBlob, type ApiBlobResponse } from "./http"; export async function exportReimbursements(params: { format: "csv" | "xlsx"; status?: string; scope?: "own" | "all"; }) { const qs = new URLSearchParams(); qs.set("format", params.format); if (params.status) qs.set("status", params.status); if (params.scope) qs.set("scope", params.scope); return apiRequestBlob(`/api/exports/reimbursements?${qs.toString()}`); } export async function exportInvoicePool(params: { format: "csv" | "xlsx"; status?: string; ownerScope?: "own" | "all"; }) { const qs = new URLSearchParams(); qs.set("format", params.format); if (params.status) qs.set("status", params.status); if (params.ownerScope) qs.set("ownerScope", params.ownerScope); return apiRequestBlob(`/api/exports/invoice-pool?${qs.toString()}`); } export async function exportAuditLogs(params: { format: "csv" | "xlsx"; action?: string; targetType?: string; actorId?: string; }) { const qs = new URLSearchParams(); qs.set("format", params.format); if (params.action) qs.set("action", params.action); if (params.targetType) qs.set("targetType", params.targetType); if (params.actorId) qs.set("actorId", params.actorId); return apiRequestBlob(`/api/exports/audit-logs?${qs.toString()}`); } export async function exportDashboardReimbursements(params: { format: "csv" | "xlsx"; dateFrom?: string; dateTo?: string; departmentId?: string; }) { const qs = new URLSearchParams(); qs.set("format", params.format); if (params.dateFrom) qs.set("dateFrom", params.dateFrom); if (params.dateTo) qs.set("dateTo", params.dateTo); if (params.departmentId) qs.set("departmentId", params.departmentId); return apiRequestBlob(`/api/exports/dashboard/reimbursements?${qs.toString()}`); } export type { ApiBlobResponse };