Ambiente
A variável AMBIENTE é a única configuração do SDK. Ela decide para qual endereço cada serviço aponta.
O termo_core lê uma única variável: AMBIENTE. Os endereços de cada serviço ficam numa tabela dentro do próprio pacote (packages/rust/base/servicos.rs, copiada para o TypeScript), nunca em .env.
AMBIENTE | Para onde cada serviço aponta |
|---|---|
LOCALHOST | o servidor local (http://localhost:51xx1) ou o sandbox, escolhido por serviço |
SANDBOX | https://sandbox-api-<serviço>.termotubos.com.br |
PRODUCTION | https://api-<serviço>.termotubos.com.br |
Sem AMBIENTE, ou com um valor inválido, o processo para com a mensagem defina a variável AMBIENTE com LOCALHOST, SANDBOX ou PRODUCTION. Nunca cai em PRODUCTION por engano.
Projetos que consomem o termo_core
Rodam sempre com AMBIENTE=SANDBOX em desenvolvimento, com o segredo do próprio app gerado no TermoAuth.
No backend
AMBIENTE=SANDBOX node servidor.jsO valor é lido uma vez de process.env.AMBIENTE (Node, Bun e Deno com compatibilidade) e fica fixo no processo.
No navegador
Não existe process.env no navegador. Fixe o ambiente uma vez, antes da primeira chamada:
import { definir_ambiente_atual_pelo_codigo } from "termo_core";
definir_ambiente_atual_pelo_codigo(import.meta.env.VITE_AMBIENTE); // "SANDBOX"Depois de fixado, tentar trocar para outro ambiente lança termo_core: o ambiente já está fixado em SANDBOX.
Apontar um serviço para outro endereço
Só para testes ou ferramentas: troca o endereço de um serviço neste processo (ou nesta aba), por cima da tabela.
import { servicos, substituir_endereco_do_servico_neste_processo } from "termo_core";
substituir_endereco_do_servico_neste_processo(servicos.TERMO_AUTH, "http://localhost:9999");A referência completa de ambiente_atual, definir_ambiente_atual_pelo_codigo, endereco_do_servico_no_ambiente_atual e afins está em Funções da base.