import { NextResponse } from "next/server";
import { testSamGovApiKey } from "@/lib/sam-gov/fetch-opportunities";

export async function POST(req: Request) {
  try {
    const body = (await req.json()) as { apiKey?: string; uei?: string };
    const apiKey = body.apiKey?.trim();

    if (!apiKey) {
      return NextResponse.json({ ok: false, error: "SAM.gov API key is required." }, { status: 400 });
    }

    const test = await testSamGovApiKey(apiKey);
    if (!test.ok) {
      return NextResponse.json({ ok: false, error: test.error }, { status: 400 });
    }

    return NextResponse.json({
      ok: true,
      message: "SAM.gov API key verified. Live bid sync is ready.",
      uei: body.uei?.trim() || undefined,
    });
  } catch (error) {
    return NextResponse.json(
      { ok: false, error: error instanceof Error ? error.message : "Connection test failed." },
      { status: 500 },
    );
  }
}
