import { createFileRoute } from "@tanstack/react-router";
import {
  applicantsToWorkbook,
  fetchApplicants,
  workbookToBuffer,
} from "@/lib/applicants";

export const Route = createFileRoute("/api/applicants/export")({
  server: {
    handlers: {
      GET: async () => {
        const rows = await fetchApplicants();
        const workbook = applicantsToWorkbook(rows);
        const buffer = workbookToBuffer(workbook);
        const stamp = new Date().toISOString().slice(0, 10);
        const filename = `pg-sec-applicants-${stamp}.xlsx`;

        return new Response(new Uint8Array(buffer), {
          status: 200,
          headers: {
            "Content-Type":
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
            "Content-Disposition": `attachment; filename="${filename}"`,
            "Cache-Control": "no-store",
          },
        });
      },
    },
  },
});
