/** POST /api/settings/price-sheet/pdf (staff only) — body: { sheet: PriceSheet } → { status, filename, pdfBase64 } */ import { gateFromEvent } from '../../../utils/chatAccess' import { generatePriceSheetPdf } from '../../../utils/shipping/priceSheetPdf' export default defineEventHandler(async (event) => { await gateFromEvent(event, { requireChat: false }) const body: any = await readBody(event).catch(() => ({})) if (!body?.sheet?.sections) return { status: 400, message: 'sheet missing' } try { const { buffer, filename } = await generatePriceSheetPdf(body.sheet) return { status: 200, filename, pdfBase64: buffer.toString('base64') } } catch (err: any) { console.error('[PriceSheet] pdf render failed:', err) return { status: 500, message: err?.message || 'Render failed' } } })