// Service-token auth for the PO export route, shared by the auth middleware and // (conceptually) the export route handler. // // PdfService ("Email PO to vendor", issue #14) fetches `/api/po//export` // WITHOUT a user session, authenticating with a `svc` query param that must equal // PDF_SERVICE_TOKEN. The route handler validates that token, but the auth // middleware runs first and would otherwise redirect the unauthenticated request // to /login — so the middleware uses this to let exactly that one route through // when the token matches. // // Kept dependency-free so it's safe to import into the Edge middleware and easy to // unit-test. `token` is `process.env.PDF_SERVICE_TOKEN` (undefined when the PDF // service isn't configured → always denied). const EXPORT_PATH = /^\/api\/po\/[^/]+\/export\/?$/; export function isPdfExportServiceRequest( pathname: string, svc: string | null | undefined, token: string | undefined ): boolean { if (!token || !svc) return false; if (svc !== token) return false; return EXPORT_PATH.test(pathname); }