import { criarCompra } from "@/lib/fiscal/servidor/compras";
import { exigirUuid, lerCorpo, rotaFiscal } from "@/lib/fiscal/servidor/rota";
import { origemPublicaDoAdmin } from "@/lib/origem-publica";

export const runtime = "nodejs";

/** Abre o Checkout Pro do Mercado Pago da Ktalogu para um pacote de notas. */
export async function POST(req: Request) {
  return rotaFiscal("subscription.manage", async ({ admin, empresaId, ambiente, user }) => {
    const corpo = await lerCorpo(req);
    const { data: loja } = await admin.from("profiles").select("store_name,company_email").eq("id", empresaId).maybeSingle();
    const compra = await criarCompra(admin, {
      empresaId,
      ambiente,
      pacoteId: exigirUuid(typeof corpo.pacoteId === "string" ? corpo.pacoteId : null, "Pacote"),
      usuarioId: user.id,
      email: user.email || (loja?.company_email as string | null) || null,
      nome: (loja?.store_name as string | null) || null,
      origem: origemPublicaDoAdmin(req),
    });
    return compra;
  });
}
