/** 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' }
  }
})
