Uso
7 funções do TermoTracing para uso.
// npm install termo_core --save-exact
import * as tracing from "termo_core/tracing";
// ou: import { tracing } from "termo_core";| Função | Rota | O que faz |
|---|---|---|
buscar_paginador_uso | GET /uso | Lista os registros de uso paginados |
criar_uso | POST /uso | Cadastra um registro de uso |
buscar_auto_complete_uso | GET /uso/autocomplete | Lista básica de registros de uso para seleção |
buscar_pelo_filtro_uso | GET /uso/filtro | Busca registros de uso por filtro |
buscar_pelo_id_uso | GET /uso/{id} | Busca um registro de uso pelo id |
atualizar_pelo_id_uso | PATCH /uso/{id} | Atualiza um registro de uso pelo id |
deletar_pelo_id_uso | DELETE /uso/{id} | Exclui um registro de uso pelo id |
buscar_paginador_uso
GET/uso Exige credencial
Lista os registros de uso paginados
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Lista os registros de uso diário não excluídos da conta, do dia mais recente para o mais antigo. ciclo (AAAA-MM) filtra pelo mês e aplicativo_id pelo aplicativo. pagina começa em 1 (padrão 1; menor que 1 vira 1). A página tem sempre 50 itens: o parâmetro tamanho é aceito, mas ignorado. A resposta traz itens, total (quantidade de registros que casam com os filtros), pagina e tamanho (50). Parâmetros de consulta, todos opcionais: pagina: número da página, começando em 1 (padrão 1; menor que 1 vira 1); tamanho: aceito, mas ignorado: a página tem sempre 50 itens; ciclo: ciclo mensal exato, no formato AAAA-MM (opcional); aplicativo_id: id do aplicativo (opcional).
function buscar_paginador_uso(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPaginadorUso = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaUso>import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_uso } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_uso(credencial_de_acesso, { pagina: 1 });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaUso> · Rust: Result<tipos::PaginaUso, ErroAoChamarServico> · veja PaginaUso.
criar_uso
POST/uso Exige credencial
Cadastra um registro de uso
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Soma eventos aceitos e recusados ao uso diário de um aplicativo da conta (o uso normalmente é contado sozinho pela ingestão). aplicativo_id precisa ser de um aplicativo da conta; dia é obrigatório, no formato AAAA-MM-DD; eventos_aceitos e eventos_recusados têm padrão 0. Se já existe o registro daquele aplicativo naquele dia, os valores enviados são somados aos atuais e o registro existente é devolvido. O ciclo é o mês do dia (AAAA-MM). Campos do corpo: aplicativo_id: id de um aplicativo da conta (obrigatório); dia: dia no formato AAAA-MM-DD (obrigatório); eventos_aceitos: eventos aceitos a somar (padrão 0); eventos_recusados: eventos recusados a somar (padrão 0).
function criar_uso(
credencial_de_acesso: CredencialDeAcesso,
corpo_da_requisicao: tipos.UsoCriar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Uso>import { CredencialDeAcesso } from "termo_core";
import { criar_uso } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await criar_uso(credencial_de_acesso, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Uso> · Rust: Result<tipos::Uso, ErroAoChamarServico> · veja Uso.
buscar_auto_complete_uso
GET/uso/autocomplete Exige credencial
Lista básica de registros de uso para seleção
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Devolve só id e rótulo (nome do aplicativo e dia), ordenados por ciclo e dia. busca procura o trecho no ciclo (AAAA-MM), 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. A resposta traz itens, total, pagina e tamanho. Parâmetros de consulta, todos opcionais: busca: trecho do ciclo (AAAA-MM), sem diferenciar maiúsculas (opcional); pagina: número da página, começando em 1 (padrão 1; menor que 1 vira 1); tamanho: itens por página (padrão 10, sem máximo; menor que 1 vira 1).
function buscar_auto_complete_uso(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarAutoCompleteUso = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaUsoAutoComplete>import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_uso } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_uso(credencial_de_acesso, { busca: "..." });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaUsoAutoComplete> · Rust: Result<tipos::PaginaUsoAutoComplete, ErroAoChamarServico> · veja PaginaUsoAutoComplete.
buscar_pelo_filtro_uso
GET/uso/filtro Exige credencial
Busca registros de uso por filtro
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Devolve todos os registros de uso diário não excluídos da conta que casam com o filtro, sem paginação, do dia mais antigo para o mais recente. aplicativo_id filtra pelo aplicativo; ciclo (AAAA-MM) pelo mês; dia_inicial e dia_final (AAAA-MM-DD) limitam o dia. Sem filtro, devolve todos. Parâmetros de consulta, todos opcionais: aplicativo_id: id do aplicativo; ciclo: ciclo mensal exato, no formato AAAA-MM; dia_inicial: primeiro dia, no formato AAAA-MM-DD; dia_final: último dia, no formato AAAA-MM-DD.
function buscar_pelo_filtro_uso(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPeloFiltroUso = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.Uso>>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_uso } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_uso(credencial_de_acesso, { aplicativo_id: "..." });Argumentos
Nome
Tipo
Retorno: Promise<Array<tipos.Uso>> · Rust: Result<Vec<tipos::Uso>, ErroAoChamarServico>
buscar_pelo_id_uso
GET/uso/{id} Exige credencial
Busca um registro de uso pelo id
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Devolve o registro de uso pelo id; registro excluído não é encontrado.
function buscar_pelo_id_uso(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Uso>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_uso } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_uso(credencial_de_acesso, id);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Uso> · Rust: Result<tipos::Uso, ErroAoChamarServico> · veja Uso.
atualizar_pelo_id_uso
PATCH/uso/{id} Exige credencial
Atualiza um registro de uso pelo id
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Atualização parcial: só os campos enviados mudam. Substitui eventos_aceitos e/ou eventos_recusados pelos valores enviados. Campos do corpo, todos opcionais: eventos_aceitos: novo total de eventos aceitos no dia; eventos_recusados: novo total de eventos recusados no dia.
function atualizar_pelo_id_uso(
credencial_de_acesso: CredencialDeAcesso,
id: string,
corpo_da_requisicao: tipos.UsoAtualizar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Uso>import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_uso } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await atualizar_pelo_id_uso(credencial_de_acesso, id, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Uso> · Rust: Result<tipos::Uso, ErroAoChamarServico> · veja Uso.
deletar_pelo_id_uso
DELETE/uso/{id} Exige credencial
Exclui um registro de uso pelo id
Qualquer colaborador da Termotubos logado no TermoAuth (perfil employee); não há área de permissão própria. Cada conta só enxerga e altera os próprios registros (os do sub do token): registro de outra conta responde como não encontrado. Exclusão lógica: o registro some das leituras, mas não é apagado na hora.
function deletar_pelo_id_uso(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<void>import { CredencialDeAcesso } from "termo_core";
import { deletar_pelo_id_uso } from "termo_core/tracing";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
await deletar_pelo_id_uso(credencial_de_acesso, id);Argumentos
Nome
Tipo
Retorno: Promise<void> · Rust: Result<(), ErroAoChamarServico> · sem corpo na resposta.
Tipos
Tipos usados pelas funções desta página. O nome é o mesmo nos dois pacotes.
PaginaUso
import type { PaginaUso } from "termo_core/tracing";
export interface PaginaUso {
itens: Array<PaginaUsoItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaUsoAutoComplete
import type { PaginaUsoAutoComplete } from "termo_core/tracing";
export interface PaginaUsoAutoComplete {
itens: Array<PaginaUsoAutoCompleteItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaUsoAutoCompleteItensItem
import type { PaginaUsoAutoCompleteItensItem } from "termo_core/tracing";
export interface PaginaUsoAutoCompleteItensItem {
id: string;
rotulo: string;
}PaginaUsoItensItem
import type { PaginaUsoItensItem } from "termo_core/tracing";
export interface PaginaUsoItensItem {
aplicativo_id: string;
aplicativo_nome: string;
atualizado_em: string;
ciclo: string;
conta_id: string;
criado_em: string;
dia: string;
eventos_aceitos: number;
eventos_recusados: number;
id: string;
}Uso
import type { Uso } from "termo_core/tracing";
export interface Uso {
aplicativo_id: string;
aplicativo_nome: string;
atualizado_em: string;
ciclo: string;
conta_id: string;
criado_em: string;
dia: string;
eventos_aceitos: number;
eventos_recusados: number;
id: string;
}UsoAtualizar
import type { UsoAtualizar } from "termo_core/tracing";
export interface UsoAtualizar {
eventos_aceitos?: number | null;
eventos_recusados?: number | null;
}UsoCriar
import type { UsoCriar } from "termo_core/tracing";
export interface UsoCriar {
aplicativo_id: string;
dia: string;
eventos_aceitos?: number;
eventos_recusados?: number;
}