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ção | Rota | O que faz |
|---|---|---|
buscar_paginador_usuario | GET /usuario | Lista usuários com paginação |
buscar_auto_complete_usuario | GET /usuario/autocomplete | Lista básica de usuários para seleção |
buscar_pelo_filtro_usuario | GET /usuario/filtro | Busca usuários por filtro |
buscar_pelo_id_usuario | GET /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>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>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>>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>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;
}