import { NextRequest, NextResponse } from "next/server"; import { prisma } from "@/lib/db"; import Papa from "papaparse"; export async function GET( req: NextRequest, { params }: { params: Promise<{ jobId: string }> } ) { try { const { jobId } = await params; const job = await prisma.job.findUnique({ where: { id: jobId }, include: { results: { orderBy: { createdAt: "asc" } } }, }); if (!job) return NextResponse.json({ error: "Job not found" }, { status: 404 }); const rows = job.results.map(r => ({ company_name: r.companyName || "", domain: r.domain || "", contact_name: r.contactName || "", contact_title: r.contactTitle || "", email: r.email || "", confidence_score: r.confidence !== null ? Math.round((r.confidence || 0) * 100) + "%" : "", source_tab: job.type, job_id: job.id, found_at: r.createdAt.toISOString(), })); const csv = Papa.unparse(rows); return new NextResponse(csv, { headers: { "Content-Type": "text/csv", "Content-Disposition": `attachment; filename="leadflow-${job.type}-${jobId.slice(0, 8)}.csv"`, }, }); } catch (err) { console.error("GET /api/export/[jobId] error:", err); return NextResponse.json({ error: "Failed to export" }, { status: 500 }); } }