Aplicativo

4 funções do TermoSupport para aplicativo.

// npm install termo_core --save-exact
import * as support from "termo_core/support";
// ou: import { support } from "termo_core";
FunçãoRotaO que faz
buscar_paginador_aplicativoGET /aplicativoLista os aplicativos paginados
buscar_auto_complete_aplicativoGET /aplicativo/autocompleteLista básica de aplicativos para seleção
buscar_pelo_filtro_aplicativoGET /aplicativo/filtroBusca aplicativos por filtro
buscar_pelo_id_aplicativoGET /aplicativo/{id}Busca um aplicativo pelo id

buscar_paginador_aplicativo

GET/aplicativo Exige credencial

Lista os aplicativos paginados

Exige a permissão de leitura na área aplicativos. A lista de aplicativos é a do TermoAuth (não há cadastro, edição nem exclusão no TermoSupport): antes de responder, a rota busca os apps no TermoAuth pelo termo_core com o token de quem chamou e espelha nome, endereço, descrição e cor. Para um master do TermoAuth vem a lista inteira (todos=true) e o que sumiu de lá fica inativo; para os demais, só entram ou se atualizam os apps que a pessoa pode abrir. Falha no TermoAuth não impede a resposta: vem o que já estava sincronizado. A sincronização também roda quando um master entra. Lista os aplicativos sincronizados (com termoauth_id) em ordem alfabética do nome, sempre 50 por página: tamanho é ignorado. pagina começa em 1 (padrão 1; valores menores viram 1). total é a quantidade de aplicativos não excluídos.

function buscar_paginador_aplicativo(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPaginadorAplicativo = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaAplicativo>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_aplicativo } from "termo_core/support";

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

Argumentos

Nome

Tipo

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

buscar_auto_complete_aplicativo

GET/aplicativo/autocomplete Exige credencial

Lista básica de aplicativos para seleção

Exige a permissão de leitura na área aplicativos, projetos ou tickets. Devolve só id, nome e endereço, em ordem alfabética do nome, sem os excluídos. somente_ativos=true deixa de fora os aplicativos inativos (é o que usam os campos de projetos e tickets). busca procura o trecho no nome ou no endereço, sem diferenciar maiúsculas. pagina começa em 1 (padrão 1) e tamanho tem padrão 10, sem máximo; valores menores que 1 viram 1.

function buscar_auto_complete_aplicativo(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteAplicativo = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaAplicativoAutoComplete>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_aplicativo } from "termo_core/support";

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

Argumentos

Nome

Tipo

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

buscar_pelo_filtro_aplicativo

GET/aplicativo/filtro Exige credencial

Busca aplicativos por filtro

Exige a permissão de leitura na área aplicativos. Devolve todos os aplicativos sincronizados com o TermoAuth que casam com o filtro, sem paginação, em ordem alfabética do nome. nome e endereco procuram o trecho no campo, sem diferenciar maiúsculas; ativo filtra pela situação. Sem filtro, devolve todos.

function buscar_pelo_filtro_aplicativo(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPeloFiltroAplicativo = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.Aplicativo>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_aplicativo } from "termo_core/support";

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

Argumentos

Nome

Tipo

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

buscar_pelo_id_aplicativo

GET/aplicativo/{id} Exige credencial

Busca um aplicativo pelo id

Exige a permissão de leitura na área aplicativos (qualquer das ações ler, criar, editar ou deletar libera a leitura). Aplicativo excluído não é encontrado.

function buscar_pelo_id_aplicativo(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Aplicativo>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_aplicativo } from "termo_core/support";

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

Argumentos

Nome

Tipo

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

Tipos

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

Aplicativo

import type { Aplicativo } from "termo_core/support";

export interface Aplicativo {
  ativo: boolean;
  atualizado_em: string;
  chave_publica: string;
  cor: string;
  criado_em: string;
  descricao?: string | null;
  endereco: string;
  id: string;
  logo?: string | null;
  nome: string;
  saudacao: string;
  /**
   * Id (slug) do app no TermoAuth, de onde vem a lista. Vazio só nas linhas antigas ainda não ligadas.
   */
  termoauth_id?: string | null;
}

PaginaAplicativo

import type { PaginaAplicativo } from "termo_core/support";

export interface PaginaAplicativo {
  itens: Array<PaginaAplicativoItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaAplicativoAutoComplete

import type { PaginaAplicativoAutoComplete } from "termo_core/support";

export interface PaginaAplicativoAutoComplete {
  itens: Array<PaginaAplicativoAutoCompleteItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaAplicativoAutoCompleteItensItem

import type { PaginaAplicativoAutoCompleteItensItem } from "termo_core/support";

export interface PaginaAplicativoAutoCompleteItensItem {
  endereco: string;
  id: string;
  nome: string;
}

PaginaAplicativoItensItem

import type { PaginaAplicativoItensItem } from "termo_core/support";

export interface PaginaAplicativoItensItem {
  ativo: boolean;
  atualizado_em: string;
  chave_publica: string;
  cor: string;
  criado_em: string;
  descricao?: string | null;
  endereco: string;
  id: string;
  logo?: string | null;
  nome: string;
  saudacao: string;
  /**
   * Id (slug) do app no TermoAuth, de onde vem a lista. Vazio só nas linhas antigas ainda não ligadas.
   */
  termoauth_id?: string | null;
}

Nesta página