Configuração

2 funções do TermoLeads para configuração.

// npm install termo_core --save-exact
import * as leads from "termo_core/leads";
// ou: import { leads } from "termo_core";
FunçãoRotaO que faz
buscar_pelo_id_configuracaoGET /api/configuracaoMostra a situação do segredo do app
atualizar_pelo_id_configuracaoPATCH /api/configuracaoGrava ou apaga o segredo do app

buscar_pelo_id_configuracao

GET/api/configuracao Exige credencial

Mostra a situação do segredo do app

Exige o usuário master (token do TermoAuth com isMaster). Devolve se o segredo do app termo-leads gerado no TermoAuth está cadastrado e o final mascarado dele, nunca o valor. O segredo fica cifrado no banco (AES-256-GCM, chave derivada da GLOBAL_SECRET_CRIPTOGRAFIA do servidor); sem essa variável, ou se ela mudou, o segredo aparece como não configurado.

function buscar_pelo_id_configuracao(
  credencial_de_acesso: CredencialDeAcesso,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Configuracao>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_configuracao } from "termo_core/leads";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_configuracao(credencial_de_acesso);

Argumentos

Nome

Tipo

Retorno: Promise<tipos.Configuracao> · Rust: Result<tipos::Configuracao, ErroAoChamarServico> · veja Configuracao.

atualizar_pelo_id_configuracao

PATCH/api/configuracao Exige credencial

Grava ou apaga o segredo do app

Exige o usuário master (token do TermoAuth com isMaster). segredo_do_app_gerado_no_termo_auth ausente não mexe, texto troca e null apaga. O valor é cifrado antes de ir para o banco e entregue na hora ao termo_core, que o usa para pedir o token de aplicativo ao TermoAuth: vale sem deploy. Responde 503 quando o servidor está sem a GLOBAL_SECRET_CRIPTOGRAFIA.

function atualizar_pelo_id_configuracao(
  credencial_de_acesso: CredencialDeAcesso,
  corpo_da_requisicao: tipos.ConfiguracaoAtualizar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Configuracao>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_configuracao } from "termo_core/leads";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await atualizar_pelo_id_configuracao(credencial_de_acesso, corpo_da_requisicao);

Argumentos

Nome

Tipo

Retorno: Promise<tipos.Configuracao> · Rust: Result<tipos::Configuracao, ErroAoChamarServico> · veja Configuracao.

Tipos

Tipos usados pelas funções desta página. O nome é o mesmo nos dois pacotes.

Configuracao

import type { Configuracao } from "termo_core/leads";

export interface Configuracao {
  /**
   * Data e hora da última alteração (ISO 8601, UTC)
   */
  atualizado_em: string;
  /**
   * E-mail de quem gravou por último; `null` antes da primeira gravação
   */
  atualizado_por?: string | null;
  /**
   * `false` quando o servidor está sem a `GLOBAL_SECRET_CRIPTOGRAFIA`: nada abre e nada pode ser gravado
   */
  criptografia_disponivel: boolean;
  /**
   * Situação do segredo do app `termo-leads` gerado no TermoAuth; o valor nunca é devolvido
   */
  segredo_do_app_gerado_no_termo_auth: ValorProtegido;
}

ConfiguracaoAtualizar

import type { ConfiguracaoAtualizar } from "termo_core/leads";

export interface ConfiguracaoAtualizar {
  /**
   * Segredo do app gerado no TermoAuth: ausente não mexe, texto troca (até 2.000 caracteres, sem quebra de linha) e `null` apaga
   */
  segredo_do_app_gerado_no_termo_auth?: string | null;
}

ValorProtegido

import type { ValorProtegido } from "termo_core/leads";

export interface ValorProtegido {
  /**
   * `true` quando há um valor gravado que abre com a `GLOBAL_SECRET_CRIPTOGRAFIA` atual
   */
  configurado: boolean;
  /**
   * Os 4 últimos caracteres do valor, mascarados (`••••abcd`); `null` quando não há valor
   */
  final_visivel?: string | null;
}

Nesta página