/**
 * GET /api/offers/flyer?language=de|en[&download=1][&refresh=1]
 * The marketing flyer PDF (preview/download for staff; the same file is attached
 * to quote/contract mails when the "Flyer anhängen" option is ticked).
 */
import { generateFlyerPdf } from '../../utils/offers/flyerPdf'

export default defineEventHandler(async (event) => {
  const token = await getTokenHelper(event)
  if (!token) { setResponseStatus(event, 401); return 'Not authenticated' }
  const q = getQuery(event)
  try {
    const { buffer, filename } = await generateFlyerPdf(String(q.language || 'de'), !!q.refresh)
    setHeader(event, 'Content-Type', 'application/pdf')
    setHeader(event, 'Content-Disposition', `${q.download ? 'attachment' : 'inline'}; filename="${filename}"`)
    setHeader(event, 'Cache-Control', 'private, max-age=300')
    return buffer
  } catch (err: any) {
    console.error('[Flyer] generation failed:', err)
    setResponseStatus(event, 500)
    return err?.message || 'Flyer generation failed'
  }
})
