App

6 funções do TermoAuth para app.

// npm install termo_core --save-exact
import * as auth from "termo_core/auth";
// ou: import { auth } from "termo_core";
FunçãoRotaO que faz
buscar_paginador_appGET /appLista apps com paginação
criar_appPOST /appCadastra um app
buscar_auto_complete_appGET /app/autocompleteLista básica de apps para seleção
buscar_pelo_filtro_appGET /app/filtroBusca apps por filtro
buscar_pelo_id_appGET /app/{id}Busca um app pelo id
atualizar_pelo_id_appPATCH /app/{id}Atualiza um app pelo id

buscar_paginador_app

GET/app Exige credencial

Lista apps com paginação

Na ordem de exibição. Sem todos, devolve só os apps que o perfil de quem chama pode abrir e que aparecem na lista do ambiente atual, como o /apps. Com todos=true, que exige o token de um master, devolve todos os cadastrados, como o /master/apps. pagina começa em 1 (padrão 1); tamanho tem padrão 50 e máximo 500. busca procura no nome, no id e no setor. Os links rápidos (endereco_repositorio, endereco_diagrama_banco, endereco_documentacao, endereco_openapi) só vêm preenchidos para master.

function buscar_paginador_app(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPaginadorApp = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaApp>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_app } from "termo_core/auth";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_app(credencial_de_acesso, { pagina: 1 });

Argumentos

Nome

Tipo

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

criar_app

POST/app Exige credencial

Cadastra um app

Só master. id é o slug usado em ?app=<id>: letras minúsculas, números e hífens, até 40 caracteres, e não pode ser settings. perfis lista quem pode abrir o app (colaborador, cliente, pelo menos um); acesso é autenticado, em_hospedagem, em_desenvolvimento ou link_externo. cor no formato #rrggbb; endereços começam com http:// ou https://; caminho_inicial começa com /. endereco_repositorio, endereco_diagrama_banco, endereco_documentacao e endereco_openapi são os links rápidos da TI, opcionais. Cadastrar o id de um app excluído o traz de volta. Vale na hora, sem reiniciar nada.

function criar_app(
  credencial_de_acesso: CredencialDeAcesso,
  corpo_da_requisicao: tipos.AppCriar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.App>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { criar_app } from "termo_core/auth";

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

Argumentos

Nome

Tipo

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

buscar_auto_complete_app

GET/app/autocomplete Exige credencial

Lista básica de apps para seleção

Só master. Devolve só id, nome e setor, em ordem alfabética, para escolher um app. pagina começa em 1 (padrão 1); tamanho tem padrão 10. busca procura no nome e no id.

function buscar_auto_complete_app(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteApp = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaAppAutoComplete>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_app } from "termo_core/auth";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_app(credencial_de_acesso, { busca: "..." });

Argumentos

Nome

Tipo

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

buscar_pelo_filtro_app

GET/app/filtro Exige credencial

Busca apps por filtro

Só master. Devolve todos os apps que casam com o filtro, sem paginação, na ordem de exibição. busca procura no nome, no id e na descrição; setor compara sem diferenciar maiúsculas; acesso é autenticado, em_hospedagem, em_desenvolvimento ou link_externo.

function buscar_pelo_filtro_app(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPeloFiltroApp = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.App>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_app } from "termo_core/auth";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_app(credencial_de_acesso, { busca: "..." });

Argumentos

Nome

Tipo

Retorno: Promise<Array<tipos.App>> · Rust: Result<Vec<tipos::App>, ErroAoChamarServico>

buscar_pelo_id_app

GET/app/{id} Exige credencial

Busca um app pelo id

Sem token, só encontra os apps que têm porta de entrada no ambiente atual (acesso autenticado e endereço configurado). Com todos=true, que exige o token de um master, encontra qualquer app cadastrado. Os links rápidos (endereco_repositorio, endereco_diagrama_banco, endereco_documentacao, endereco_openapi) só vêm preenchidos com todos=true.

function buscar_pelo_id_app(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  parametros: ParametrosDeBuscarPeloIdApp = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.App>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_app } from "termo_core/auth";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_app(credencial_de_acesso, id, { todos: true });

Argumentos

Nome

Tipo

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

atualizar_pelo_id_app

PATCH/app/{id} Exige credencial

Atualiza um app pelo id

Só master. Atualização parcial: só os campos enviados mudam, e o id não muda. As regras de cada campo são as mesmas do cadastro. O app settings não pode ser alterado. Vale na hora, sem reiniciar nada.

function atualizar_pelo_id_app(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  corpo_da_requisicao: tipos.AppAtualizar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.App>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_app } from "termo_core/auth";

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

Argumentos

Nome

Tipo

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

Tipos

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

App

import type { App } from "termo_core/auth";

export interface App {
  acesso: string;
  atualizado_em: string;
  caminho_inicial: string;
  cor: string;
  criado_em: string;
  descricao: string;
  disponivel: boolean;
  e_app_conta: boolean;
  endereco: string;
  endereco_desenvolvimento: string;
  endereco_diagrama_banco: string;
  endereco_documentacao: string;
  endereco_entrada: string;
  endereco_openapi: string;
  endereco_producao: string;
  endereco_repositorio: string;
  endereco_sandbox: string;
  id: string;
  nome: string;
  ordem: number;
  perfis: Array<string>;
  setor: string;
}

AppAtualizar

import type { AppAtualizar } from "termo_core/auth";

export interface AppAtualizar {
  acesso?: string | null;
  caminho_inicial?: string | null;
  cor?: string | null;
  descricao?: string | null;
  endereco_desenvolvimento?: string | null;
  endereco_diagrama_banco?: string | null;
  endereco_documentacao?: string | null;
  endereco_openapi?: string | null;
  endereco_producao?: string | null;
  endereco_repositorio?: string | null;
  endereco_sandbox?: string | null;
  nome?: string | null;
  ordem?: number | null;
  perfis?: Array<string> | null;
  setor?: string | null;
}

AppCriar

import type { AppCriar } from "termo_core/auth";

export interface AppCriar {
  acesso: string;
  caminho_inicial?: string | null;
  cor?: string | null;
  descricao?: string | null;
  endereco_desenvolvimento?: string | null;
  endereco_diagrama_banco?: string | null;
  endereco_documentacao?: string | null;
  endereco_openapi?: string | null;
  endereco_producao?: string | null;
  endereco_repositorio?: string | null;
  endereco_sandbox?: string | null;
  id: string;
  nome: string;
  ordem?: number | null;
  perfis: Array<string>;
  setor?: string | null;
}

PaginaApp

import type { PaginaApp } from "termo_core/auth";

export interface PaginaApp {
  itens: Array<PaginaAppItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaAppAutoComplete

import type { PaginaAppAutoComplete } from "termo_core/auth";

export interface PaginaAppAutoComplete {
  itens: Array<PaginaAppAutoCompleteItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaAppAutoCompleteItensItem

import type { PaginaAppAutoCompleteItensItem } from "termo_core/auth";

export interface PaginaAppAutoCompleteItensItem {
  id: string;
  nome: string;
  setor: string;
}

PaginaAppItensItem

import type { PaginaAppItensItem } from "termo_core/auth";

export interface PaginaAppItensItem {
  acesso: string;
  atualizado_em: string;
  caminho_inicial: string;
  cor: string;
  criado_em: string;
  descricao: string;
  disponivel: boolean;
  e_app_conta: boolean;
  endereco: string;
  endereco_desenvolvimento: string;
  endereco_diagrama_banco: string;
  endereco_documentacao: string;
  endereco_entrada: string;
  endereco_openapi: string;
  endereco_producao: string;
  endereco_repositorio: string;
  endereco_sandbox: string;
  id: string;
  nome: string;
  ordem: number;
  perfis: Array<string>;
  setor: string;
}

Nesta página