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.

AMBIENTEPara onde cada serviço aponta
LOCALHOSTo servidor local (http://localhost:51xx1) ou o sandbox, escolhido por serviço
SANDBOXhttps://sandbox-api-<serviço>.termotubos.com.br
PRODUCTIONhttps://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.js

O 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:

main.ts
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.

Nesta página