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çãoRotaO que faz
buscar_paginador_usoGET /usoLista os registros de uso paginados
criar_usoPOST /usoCadastra um registro de uso
buscar_auto_complete_usoGET /uso/autocompleteLista básica de registros de uso para seleção
buscar_pelo_filtro_usoGET /uso/filtroBusca registros de uso por filtro
buscar_pelo_id_usoGET /uso/{id}Busca um registro de uso pelo id
atualizar_pelo_id_usoPATCH /uso/{id}Atualiza um registro de uso pelo id
deletar_pelo_id_usoDELETE /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>
Exemplo
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>
Exemplo
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>
Exemplo
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>>
Exemplo
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>
Exemplo
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>
Exemplo
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>
Exemplo
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;
}

Nesta página