Perfil acesso

7 funções do TermoSupport para perfil acesso.

// npm install termo_core --save-exact
import * as support from "termo_core/support";
// ou: import { support } from "termo_core";
FunçãoRotaO que faz
buscar_paginador_perfil_acessoGET /perfil_acessoLista os perfis de acesso paginados
criar_perfil_acessoPOST /perfil_acessoCria um perfil de acesso
buscar_auto_complete_perfil_acessoGET /perfil_acesso/autocompleteLista básica de perfis de acesso para seleção
buscar_pelo_filtro_perfil_acessoGET /perfil_acesso/filtroBusca perfis de acesso por filtro
buscar_pelo_id_perfil_acessoGET /perfil_acesso/{id}Busca um perfil de acesso pelo id
atualizar_pelo_id_perfil_acessoPATCH /perfil_acesso/{id}Atualiza um perfil de acesso pelo id
deletar_pelo_id_perfil_acessoDELETE /perfil_acesso/{id}Exclui um perfil de acesso pelo id

buscar_paginador_perfil_acesso

GET/perfil_acesso Exige credencial

Lista os perfis de acesso paginados

Exige a permissão de leitura na área colaboradores. Lista os perfis não excluídos em ordem alfabética do nome, sempre 50 por página: tamanho é ignorado. pagina começa em 1 (padrão 1; valores menores viram 1). total é a quantidade de perfis não excluídos.

function buscar_paginador_perfil_acesso(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPaginadorPerfilAcesso = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaPerfilAcesso>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_perfil_acesso } from "termo_core/support";

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.PaginaPerfilAcesso> · Rust: Result<tipos::PaginaPerfilAcesso, ErroAoChamarServico> · veja PaginaPerfilAcesso.

criar_perfil_acesso

POST/perfil_acesso Exige credencial

Cria um perfil de acesso

Exige a permissão criar na área colaboradores. O perfil diz o que quem o recebe enxerga. nome é obrigatório (até 80 caracteres) e único entre os perfis não excluídos, sem diferenciar maiúsculas; descricao é opcional (até 200 caracteres). permissoes tem as áreas aplicativos (aplicativos e documentos), colaboradores (colaboradores, acessos e perfis de acesso), projetos (projetos, seções, tarefas e etiquetas) e tickets, cada uma com ler, criar, editar e deletar; área ou ação ausente vale false, e qualquer ação liberada numa área também libera a leitura dela.

function criar_perfil_acesso(
  credencial_de_acesso: CredencialDeAcesso,
  corpo_da_requisicao: tipos.PerfilAcessoCriar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PerfilAcesso>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { criar_perfil_acesso } from "termo_core/support";

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/perfil_acesso/autocomplete Exige credencial

Lista básica de perfis de acesso para seleção

Exige a permissão de leitura na área colaboradores. Devolve só id e nome, em ordem alfabética do nome, sem os excluídos. busca procura o trecho no 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.

function buscar_auto_complete_perfil_acesso(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompletePerfilAcesso = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaPerfilAcessoAutoComplete>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_perfil_acesso } from "termo_core/support";

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.PaginaPerfilAcessoAutoComplete> · Rust: Result<tipos::PaginaPerfilAcessoAutoComplete, ErroAoChamarServico> · veja PaginaPerfilAcessoAutoComplete.

buscar_pelo_filtro_perfil_acesso

GET/perfil_acesso/filtro Exige credencial

Busca perfis de acesso por filtro

Exige a permissão de leitura na área colaboradores. Devolve todos os perfis não excluídos que casam com o filtro, sem paginação, em ordem alfabética do nome. nome procura o trecho no nome, sem diferenciar maiúsculas. Sem filtro, devolve todos.

function buscar_pelo_filtro_perfil_acesso(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPeloFiltroPerfilAcesso = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.PerfilAcesso>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_perfil_acesso } from "termo_core/support";

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/perfil_acesso/{id} Exige credencial

Busca um perfil de acesso pelo id

Exige a permissão de leitura na área colaboradores (qualquer das ações ler, criar, editar ou deletar libera a leitura). Devolve o perfil com as permissões e colaboradores, a quantidade de colaboradores não excluídos que usam o perfil. Perfil excluído não é encontrado.

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

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/perfil_acesso/{id} Exige credencial

Atualiza um perfil de acesso pelo id

Exige a permissão editar na área colaboradores. Só os campos enviados mudam; ao menos um de nome, descricao e permissoes é obrigatório. descricao vazia apaga a descrição. permissoes substitui o conjunto inteiro: área ou ação ausente vale false. Vale na próxima requisição de cada colaborador com o perfil.

function atualizar_pelo_id_perfil_acesso(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  corpo_da_requisicao: tipos.PerfilAcessoAtualizar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PerfilAcesso>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_perfil_acesso } from "termo_core/support";

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/perfil_acesso/{id} Exige credencial

Exclui um perfil de acesso pelo id

Exige a permissão deletar na área colaboradores. A exclusão é lógica. Perfil que algum colaborador não excluído ainda usa não pode ser excluído: troque o perfil dessas pessoas antes.

function deletar_pelo_id_perfil_acesso(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<void>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { deletar_pelo_id_perfil_acesso } from "termo_core/support";

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/support";

export interface Acoes {
  criar?: boolean;
  deletar?: boolean;
  editar?: boolean;
  ler?: boolean;
}

PaginaPerfilAcesso

import type { PaginaPerfilAcesso } from "termo_core/support";

export interface PaginaPerfilAcesso {
  itens: Array<PaginaPerfilAcessoItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaPerfilAcessoAutoComplete

import type { PaginaPerfilAcessoAutoComplete } from "termo_core/support";

export interface PaginaPerfilAcessoAutoComplete {
  itens: Array<PaginaPerfilAcessoAutoCompleteItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaPerfilAcessoAutoCompleteItensItem

import type { PaginaPerfilAcessoAutoCompleteItensItem } from "termo_core/support";

export interface PaginaPerfilAcessoAutoCompleteItensItem {
  id: string;
  nome: string;
}

PaginaPerfilAcessoItensItem

import type { PaginaPerfilAcessoItensItem } from "termo_core/support";

export interface PaginaPerfilAcessoItensItem {
  atualizado_em: string;
  colaboradores: number;
  criado_em: string;
  descricao?: string | null;
  id: string;
  nome: string;
  permissoes: Permissoes;
}

PerfilAcesso

import type { PerfilAcesso } from "termo_core/support";

export interface PerfilAcesso {
  atualizado_em: string;
  colaboradores: number;
  criado_em: string;
  descricao?: string | null;
  id: string;
  nome: string;
  permissoes: Permissoes;
}

PerfilAcessoAtualizar

import type { PerfilAcessoAtualizar } from "termo_core/support";

export interface PerfilAcessoAtualizar {
  descricao?: string | null;
  nome?: string | null;
  permissoes?: Permissoes | null;
}

PerfilAcessoCriar

import type { PerfilAcessoCriar } from "termo_core/support";

export interface PerfilAcessoCriar {
  descricao?: string | null;
  nome: string;
  permissoes?: Permissoes;
}

Permissoes

import type { Permissoes } from "termo_core/support";

export interface Permissoes {
  aplicativos?: Acoes;
  colaboradores?: Acoes;
  projetos?: Acoes;
  tickets?: Acoes;
}

Nesta página