Perfil acesso
7 funções do TermoLeads para perfil acesso.
// npm install termo_core --save-exact
import * as leads from "termo_core/leads";
// ou: import { leads } from "termo_core";| Função | Rota | O que faz |
|---|---|---|
buscar_paginador_perfil_acesso | GET /api/perfil_acesso | Lista os perfis de acesso com paginação |
criar_perfil_acesso | POST /api/perfil_acesso | Cria um perfil de acesso |
buscar_auto_complete_perfil_acesso | GET /api/perfil_acesso/autocomplete | Lista básica de perfis de acesso para seleção |
buscar_pelo_filtro_perfil_acesso | GET /api/perfil_acesso/filtro | Busca perfis de acesso por filtro |
buscar_pelo_id_perfil_acesso | GET /api/perfil_acesso/{id} | Busca um perfil de acesso pelo id |
atualizar_pelo_id_perfil_acesso | PATCH /api/perfil_acesso/{id} | Atualiza um perfil de acesso pelo id |
deletar_pelo_id_perfil_acesso | DELETE /api/perfil_acesso/{id} | Exclui um perfil de acesso pelo id |
buscar_paginador_perfil_acesso
GET/api/perfil_acesso Exige credencial
Lista os perfis de acesso com paginação
Exige qualquer permissão da área colaboradores (qualquer ação liberada na área já libera a leitura). Ordena pelo nome. pagina começa em 1 (padrão 1; valores menores viram 1). A página tem sempre 50 itens: tamanho é aceito, mas ignorado. total conta todos os registros não excluídos.
function buscar_paginador_perfil_acesso(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPaginadorPerfilAcesso = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaDePerfisDeAcesso>import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_perfil_acesso } from "termo_core/leads";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_perfil_acesso(credencial_de_acesso, { pagina: 1 });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaDePerfisDeAcesso> · Rust: Result<tipos::PaginaDePerfisDeAcesso, ErroAoChamarServico> · veja PaginaDePerfisDeAcesso.
criar_perfil_acesso
POST/api/perfil_acesso Exige credencial
Cria um perfil de acesso
Exige a permissão criar da área colaboradores. O perfil de acesso é o conjunto de permissões que o TermoLeads dá a um colaborador: cada colaborador aponta para um perfil (PATCH /api/colaborador/{id}/perfil_acesso) e enxerga o que o perfil libera. nome é obrigatório (até 80 caracteres, único sem diferenciar maiúsculas); descricao é opcional (até 200); permissoes traz, para cada área (empresas, colaboradores), as ações ler, criar, editar e deletar (o que não vier fica false). A resposta inclui colaboradores, quantas pessoas usam o perfil. O master do TermoAuth tem tudo liberado sem precisar de perfil.
function criar_perfil_acesso(
credencial_de_acesso: CredencialDeAcesso,
corpo_da_requisicao: tipos.PerfilAcessoCriar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PerfilAcesso>import { CredencialDeAcesso } from "termo_core";
import { criar_perfil_acesso } from "termo_core/leads";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await criar_perfil_acesso(credencial_de_acesso, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.PerfilAcesso> · Rust: Result<tipos::PerfilAcesso, ErroAoChamarServico> · veja PerfilAcesso.
buscar_auto_complete_perfil_acesso
GET/api/perfil_acesso/autocomplete Exige credencial
Lista básica de perfis de acesso para seleção
Exige qualquer permissão da área colaboradores (qualquer ação liberada na área já libera a leitura). Devolve só o id e o nome, em ordem alfabética. busca procura por trecho do nome, 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. total conta os registros que casam com a busca.
function buscar_auto_complete_perfil_acesso(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarAutoCompletePerfilAcesso = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaDePerfisDeAcessoAutoComplete>import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_perfil_acesso } from "termo_core/leads";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_perfil_acesso(credencial_de_acesso, { busca: "..." });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaDePerfisDeAcessoAutoComplete> · Rust: Result<tipos::PaginaDePerfisDeAcessoAutoComplete, ErroAoChamarServico> · veja PaginaDePerfisDeAcessoAutoComplete.
buscar_pelo_filtro_perfil_acesso
GET/api/perfil_acesso/filtro Exige credencial
Busca perfis de acesso por filtro
Exige qualquer permissão da área colaboradores (qualquer ação liberada na área já libera a leitura). Devolve todos os perfis que casam com o filtro, sem paginação, em ordem alfabética de nome. nome procura por trecho, sem diferenciar maiúsculas. Sem filtro, devolve todos (é o que a tela usa para listar e para escolher o perfil de um colaborador).
function buscar_pelo_filtro_perfil_acesso(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPeloFiltroPerfilAcesso = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.PerfilAcesso>>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_perfil_acesso } from "termo_core/leads";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_perfil_acesso(credencial_de_acesso, { nome: "..." });Argumentos
Nome
Tipo
Retorno: Promise<Array<tipos.PerfilAcesso>> · Rust: Result<Vec<tipos::PerfilAcesso>, ErroAoChamarServico>
buscar_pelo_id_perfil_acesso
GET/api/perfil_acesso/{id} Exige credencial
Busca um perfil de acesso pelo id
Exige qualquer permissão da área colaboradores (qualquer ação liberada na área já libera a leitura). Perfil excluído responde 404.
function buscar_pelo_id_perfil_acesso(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PerfilAcesso>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_perfil_acesso } from "termo_core/leads";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_perfil_acesso(credencial_de_acesso, id);Argumentos
Nome
Tipo
Retorno: Promise<tipos.PerfilAcesso> · Rust: Result<tipos::PerfilAcesso, ErroAoChamarServico> · veja PerfilAcesso.
atualizar_pelo_id_perfil_acesso
PATCH/api/perfil_acesso/{id} Exige credencial
Atualiza um perfil de acesso pelo id
Exige a permissão editar da área colaboradores. Atualização parcial: só os campos enviados mudam. nome segue o limite do cadastro; descricao vazia apaga o valor; permissoes, quando enviado, substitui o conjunto inteiro (o que não vier fica false). Todo colaborador do perfil passa a valer com as novas permissões em até 5 minutos (cache do acesso).
function atualizar_pelo_id_perfil_acesso(
credencial_de_acesso: CredencialDeAcesso,
id: string,
corpo_da_requisicao: tipos.PerfilAcessoAtualizar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PerfilAcesso>import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_perfil_acesso } from "termo_core/leads";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await atualizar_pelo_id_perfil_acesso(credencial_de_acesso, id, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.PerfilAcesso> · Rust: Result<tipos::PerfilAcesso, ErroAoChamarServico> · veja PerfilAcesso.
deletar_pelo_id_perfil_acesso
DELETE/api/perfil_acesso/{id} Exige credencial
Exclui um perfil de acesso pelo id
Exige a permissão deletar da área colaboradores. A exclusão é lógica e só é aceita quando nenhum colaborador usa o perfil: com gente vinculada responde 409, e é preciso trocar o perfil dessas pessoas antes.
function deletar_pelo_id_perfil_acesso(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<void>import { CredencialDeAcesso } from "termo_core";
import { deletar_pelo_id_perfil_acesso } from "termo_core/leads";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
await deletar_pelo_id_perfil_acesso(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.
Acoes
import type { Acoes } from "termo_core/leads";
export interface Acoes {
/**
* Libera o cadastro na área
*/
criar?: boolean;
/**
* Libera a exclusão na área
*/
deletar?: boolean;
/**
* Libera a alteração na área
*/
editar?: boolean;
/**
* Libera a leitura da área (qualquer outra ação liberada já libera a leitura)
*/
ler?: boolean;
}PaginaDePerfisDeAcesso
import type { PaginaDePerfisDeAcesso } from "termo_core/leads";
export interface PaginaDePerfisDeAcesso {
/**
* Perfis da página, em ordem alfabética de nome
*/
itens: Array<PerfilAcesso>;
/**
* Página devolvida, a partir de 1
*/
pagina: number;
/**
* Itens por página (sempre 50)
*/
tamanho: number;
/**
* Quantidade de perfis não excluídos
*/
total: number;
}PaginaDePerfisDeAcessoAutoComplete
import type { PaginaDePerfisDeAcessoAutoComplete } from "termo_core/leads";
export interface PaginaDePerfisDeAcessoAutoComplete {
/**
* Perfis da página, em ordem alfabética de nome
*/
itens: Array<PerfilAcessoAutoComplete>;
/**
* Página devolvida, a partir de 1
*/
pagina: number;
/**
* Itens por página usados
*/
tamanho: number;
/**
* Quantidade de perfis que casam com a busca
*/
total: number;
}PerfilAcesso
import type { PerfilAcesso } from "termo_core/leads";
export interface PerfilAcesso {
/**
* Data e hora da última alteração (ISO 8601, UTC)
*/
atualizado_em: string;
/**
* Quantidade de colaboradores que usam o perfil
*/
colaboradores: number;
/**
* Data e hora do cadastro (ISO 8601, UTC)
*/
criado_em: string;
/**
* Descrição do perfil
*/
descricao?: string | null;
/**
* Id do perfil de acesso
*/
id: string;
/**
* Nome do perfil, único sem diferenciar maiúsculas
*/
nome: string;
/**
* Ações liberadas em cada área do TermoLeads
*/
permissoes: Permissoes;
}PerfilAcessoAtualizar
import type { PerfilAcessoAtualizar } from "termo_core/leads";
export interface PerfilAcessoAtualizar {
/**
* Nova descrição; vazia apaga o valor
*/
descricao?: string | null;
/**
* Novo nome do perfil, até 80 caracteres
*/
nome?: string | null;
/**
* Novo conjunto de permissões; substitui o anterior inteiro
*/
permissoes?: Permissoes | null;
}PerfilAcessoAutoComplete
import type { PerfilAcessoAutoComplete } from "termo_core/leads";
export interface PerfilAcessoAutoComplete {
/**
* Id do perfil de acesso
*/
id: string;
/**
* Nome do perfil
*/
nome: string;
}PerfilAcessoCriar
import type { PerfilAcessoCriar } from "termo_core/leads";
export interface PerfilAcessoCriar {
/**
* Descrição do perfil, até 200 caracteres
*/
descricao?: string | null;
/**
* Nome do perfil, até 80 caracteres
*/
nome: string;
/**
* Ações liberadas em cada área; o que não vier fica `false`
*/
permissoes?: Permissoes;
}Permissoes
import type { Permissoes } from "termo_core/leads";
export interface Permissoes {
/**
* Ações liberadas na área `colaboradores`: colaboradores e perfis de acesso
*/
colaboradores?: Acoes;
/**
* Ações liberadas na área `empresas`: Consultar CNPJ e Localizar Empresas
*/
empresas?: Acoes;
}