import { NextResponse } from "next/server";
import { createAdminClient } from "@/lib/supabase-admin";
import { getCatalogShippingStatus } from "@/lib/catalog-shipping-server";

export const runtime = "nodejs";
export const dynamic = "force-dynamic";

export async function GET(request: Request) {
  try {
    const { searchParams } = new URL(request.url);
    const slug = String(searchParams.get("slug") || "").trim();
    if (!slug) {
      return NextResponse.json({ error: "Loja inválida." }, { status: 400 });
    }

    const admin = createAdminClient();
    const status = await getCatalogShippingStatus(admin, slug);
    return NextResponse.json(status);
  } catch (error) {
    const message = error instanceof Error ? error.message : "Não foi possível consultar o frete.";
    const status = message === "Loja não encontrada." ? 404 : 500;
    return NextResponse.json({ configured: false, error: message }, { status });
  }
}
