Usuário

4 funções do TermoAuth para usuário.

// 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_usuarioGET /usuarioLista usuários com paginação
buscar_auto_complete_usuarioGET /usuario/autocompleteLista básica de usuários para seleção
buscar_pelo_filtro_usuarioGET /usuario/filtroBusca usuários por filtro
buscar_pelo_id_usuarioGET /usuario/{id}Busca um usuário pelo id

buscar_paginador_usuario

GET/usuario Exige credencial

Lista usuários com paginação

Só master. Os mais recentes vêm primeiro. pagina começa em 1 (padrão 1); tamanho tem padrão 10 e máximo 500. busca procura no nome e no e-mail; perfil é colaborador ou cliente.

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

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

Argumentos

Nome

Tipo

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

buscar_auto_complete_usuario

GET/usuario/autocomplete Exige credencial

Lista básica de usuários para seleção

Só master. Devolve só id, nome e e-mail, em ordem alfabética, para escolher um usuário. pagina começa em 1 (padrão 1); tamanho tem padrão 10. busca procura no nome e no e-mail; perfil é colaborador ou cliente.

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

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

Argumentos

Nome

Tipo

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

buscar_pelo_filtro_usuario

GET/usuario/filtro Exige credencial

Busca usuários por filtro

Só master. Devolve todos os usuários que casam com o filtro, sem paginação, em ordem alfabética. busca procura no nome e no e-mail; perfil é colaborador ou cliente.

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

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

Argumentos

Nome

Tipo

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

buscar_pelo_id_usuario

GET/usuario/{id} Exige credencial

Busca um usuário pelo id

Quem não é master só consegue buscar o próprio usuário, cujo id é o sub do token.

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

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

Argumentos

Nome

Tipo

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

Tipos

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

PaginaUsuario

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

export interface PaginaUsuario {
  itens: Array<PaginaUsuarioItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaUsuarioAutoComplete

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

export interface PaginaUsuarioAutoComplete {
  itens: Array<PaginaUsuarioAutoCompleteItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaUsuarioAutoCompleteItensItem

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

export interface PaginaUsuarioAutoCompleteItensItem {
  email: string;
  id: string;
  nome: string;
}

PaginaUsuarioItensItem

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

export interface PaginaUsuarioItensItem {
  atualizado_em: string;
  bloqueado_ate?: string | null;
  cargo?: string | null;
  cargo_id?: string | null;
  criado_em: string;
  dois_fatores_ativo: boolean;
  e_master: boolean;
  email: string;
  email_verificado: boolean;
  funcao?: string | null;
  funcao_id?: string | null;
  id: string;
  imagem?: string | null;
  master_pelo_ambiente: boolean;
  nome: string;
  perfil: string;
  setor?: string | null;
  setor_id?: string | null;
  tem_senha: boolean;
  ultimo_login_em?: string | null;
}

Usuario

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

export interface Usuario {
  atualizado_em: string;
  bloqueado_ate?: string | null;
  cargo?: string | null;
  cargo_id?: string | null;
  criado_em: string;
  dois_fatores_ativo: boolean;
  e_master: boolean;
  email: string;
  email_verificado: boolean;
  funcao?: string | null;
  funcao_id?: string | null;
  id: string;
  imagem?: string | null;
  master_pelo_ambiente: boolean;
  nome: string;
  perfil: string;
  setor?: string | null;
  setor_id?: string | null;
  tem_senha: boolean;
  ultimo_login_em?: string | null;
}

Nesta página