import { servidorPronto } from "@/lib/fiscal/servidor/base";
import { emissorParaTela, lerDadosDaEmpresa, salvarEmpresa } from "@/lib/fiscal/servidor/emissor";
import { ErroFiscal } from "@/lib/fiscal/servidor/notas";
import { lerCorpo, rotaFiscal } from "@/lib/fiscal/servidor/rota";

export const runtime = "nodejs";

export async function PUT(req: Request) {
  return rotaFiscal("fiscal.configurar", async ({ admin, empresaId, ambiente }) => {
    const bloqueio = servidorPronto();
    if (bloqueio) throw new ErroFiscal(bloqueio, 503);
    const dados = lerDadosDaEmpresa(await lerCorpo(req));
    const emissor = await salvarEmpresa(admin, { empresaId, ambiente, dados });
    return { emissor: emissorParaTela(emissor) };
  });
}
