import { NextResponse } from "next/server";
import { getSupabaseClient } from "@/lib/supabase";

/**
 * Totais da vitrine, para o contador "negociado" ficar vivo na tela.
 *
 * A pagina inteira e revalidada a cada 10 min; so este numero merece atualizar
 * mais rapido, entao ele vem por aqui em vez de recarregar tudo. A resposta e
 * apenas agregada — nenhum dado de loja, pedido ou cliente sai deste endpoint.
 */
export const dynamic = "force-dynamic";

export async function GET() {
  try {
    const supabase = getSupabaseClient();
    const { data, error } = await supabase.rpc("get_public_ktalogu_totals");
    const linha = Array.isArray(data) ? data[0] : null;

    if (error || !linha) {
      return NextResponse.json({ ok: false }, { status: 200 });
    }

    return NextResponse.json(
      {
        ok: true,
        lojas: Number(linha.lojas) || 0,
        produtos: Number(linha.produtos) || 0,
        visitas: Number(linha.visitas) || 0,
        estados: Number(linha.estados) || 0,
        negociado: Number(linha.negociado) || 0,
        negociado30d: Number(linha.negociado_30d) || 0,
      },
      { headers: { "cache-control": "no-store" } }
    );
  } catch {
    return NextResponse.json({ ok: false }, { status: 200 });
  }
}
