import { NextRequest, NextResponse } from "next/server"; import { prisma } from "@/lib/db"; export async function GET( _req: NextRequest, { params }: { params: Promise<{ id: string }> } ) { try { const { id } = await params; const job = await prisma.job.findUnique({ where: { id }, include: { results: { orderBy: { createdAt: "desc" }, take: 200, }, }, }); if (!job) return NextResponse.json({ error: "Job not found" }, { status: 404 }); return NextResponse.json({ id: job.id, type: job.type, status: job.status, config: JSON.parse(job.config), totalLeads: job.totalLeads, emailsFound: job.emailsFound, error: job.error, createdAt: job.createdAt, updatedAt: job.updatedAt, results: job.results.map(r => { let address: string | null = null; let phone: string | null = null; if (r.source) { try { const src = JSON.parse(r.source) as { address?: string; phone?: string }; address = src.address ?? null; phone = src.phone ?? null; } catch { /* ignore */ } } return { id: r.id, companyName: r.companyName, domain: r.domain, contactName: r.contactName, contactTitle: r.contactTitle, email: r.email, linkedinUrl: r.linkedinUrl, address, phone, createdAt: r.createdAt, }; }), }); } catch (err) { console.error("GET /api/jobs/[id]/status error:", err); return NextResponse.json({ error: "Failed" }, { status: 500 }); } }