import { NextResponse } from 'next/server'; import { withAuth, withPermission } from '@/lib/api/helpers'; import { parseBody } from '@/lib/api/route-helpers'; import { errorResponse, ValidationError } from '@/lib/errors'; import { generatePdf } from '@/lib/pdf/generate'; import { validateTipTapDocument, tipTapToPdfmeTemplate, buildContentInputsFromDoc, substituteVariables, type TipTapNode, } from '@/lib/pdf/tiptap-to-pdfme'; import { previewAdminTemplateSchema } from '@/lib/validators/document-templates'; /** * POST /api/v1/admin/templates/preview * * Generates a preview PDF from a TipTap JSON content block. * Returns { data: { pdfBase64: string } } — the client can render this * in an