port-nimara-client-portal/server/api/expenses/generate-pdf.ts

42 lines
1.2 KiB
TypeScript

import { requireAuth } from '@/server/utils/auth';
interface PDFOptions {
documentName: string;
subheader?: string;
groupBy: 'none' | 'payer' | 'category' | 'date';
includeReceipts: boolean;
includeSummary: boolean;
includeDetails: boolean;
pageFormat: 'A4' | 'Letter' | 'Legal';
includeProcessingFee?: boolean;
}
export default defineEventHandler(async (event) => {
await requireAuth(event);
const body = await readBody(event);
const { expenseIds, options } = body;
if (!expenseIds || !Array.isArray(expenseIds) || expenseIds.length === 0) {
throw createError({
statusCode: 400,
statusMessage: 'Expense IDs are required'
});
}
if (!options || !options.documentName) {
throw createError({
statusCode: 400,
statusMessage: 'PDF options with document name are required'
});
}
console.log('[expenses/generate-pdf] PDF generation requested for expenses:', expenseIds);
// For now, return a helpful error message
throw createError({
statusCode: 501,
statusMessage: 'PDF generation is temporarily disabled while we upgrade the system. Please use CSV export instead or contact support for manual PDF generation.'
});
});