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ção | Rota | O que faz |
|---|---|---|
buscar_paginador_app | GET /app | Lista apps com paginação |
criar_app | POST /app | Cadastra um app |
buscar_auto_complete_app | GET /app/autocomplete | Lista básica de apps para seleção |
buscar_pelo_filtro_app | GET /app/filtro | Busca apps por filtro |
buscar_pelo_id_app | GET /app/{id} | Busca um app pelo id |
atualizar_pelo_id_app | PATCH /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>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>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>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>>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>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>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;
}