Colaborador

5 funções do TermoSupport para colaborador.

// 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_colaboradorGET /colaboradorLista os colaboradores paginados
buscar_auto_complete_colaboradorGET /colaborador/autocompleteLista básica de colaboradores para seleção
buscar_pelo_filtro_colaboradorGET /colaborador/filtroBusca colaboradores por filtro
buscar_pelo_id_colaboradorGET /colaborador/{id}Busca um colaborador pelo id
vincular_perfil_acesso_colaboradorPATCH /colaborador/{id}/perfil_acessoEscolhe o perfil de acesso do colaborador

buscar_paginador_colaborador

GET/colaborador Exige credencial

Lista os colaboradores paginados

Exige a permissão de leitura na área colaboradores. Lista os colaboradores 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). nome, setor e cargo procuram o trecho no campo, sem diferenciar maiúsculas, e ativo filtra pela situação. total é a quantidade de colaboradores não excluídos que casam com esses filtros. Quando quem chama é master do TermoAuth, antes de listar o backend traz do TermoAuth os colaboradores @termotubos.com.br que ainda não existem aqui, já com o perfil de acesso "Acesso inicial" (só leitura em todas as áreas); falha nessa sincronização não impede a lista.

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

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

Argumentos

Nome

Tipo

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

buscar_auto_complete_colaborador

GET/colaborador/autocomplete Exige credencial

Lista básica de colaboradores para seleção

Exige a permissão de leitura na área colaboradores, projetos ou tickets. Devolve só id, nome e e-mail, em ordem alfabética do nome, sem os excluídos. somente_ativos=true deixa de fora quem está inativo no TermoSupport (é o que usam os campos de responsável e membros). busca procura o trecho no nome ou no e-mail, 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_colaborador(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteColaborador = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaColaboradorAutoComplete>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_colaborador } from "termo_core/support";

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

Argumentos

Nome

Tipo

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

buscar_pelo_filtro_colaborador

GET/colaborador/filtro Exige credencial

Busca colaboradores por filtro

Exige a permissão de leitura na área colaboradores. Devolve todos os colaboradores não excluídos que casam com o filtro, sem paginação, em ordem alfabética do nome. busca procura o trecho no nome ou no e-mail; nome, email, setor e cargo procuram o trecho no campo, sem diferenciar maiúsculas; ativo filtra pela situação e perfil_acesso_id pelo perfil de acesso. Sem filtro, devolve todos.

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

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

Argumentos

Nome

Tipo

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

buscar_pelo_id_colaborador

GET/colaborador/{id} Exige credencial

Busca um colaborador pelo id

Exige a permissão de leitura na área colaboradores (qualquer das ações ler, criar, editar ou deletar libera a leitura). O colaborador é do TermoAuth, que é o único que cria e altera: aqui ele chega pelos eventos do TermoAuth e pela sincronização feita quando um master abre a lista, e só se lê. email e master vêm do acesso vinculado; setor, cargo e funcao vêm do TermoAuth; perfil_acesso_id e perfil_acesso (nome) são o perfil de acesso escolhido aqui, nulos quando ainda não há perfil. Colaborador excluído não é encontrado.

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

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

Argumentos

Nome

Tipo

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

vincular_perfil_acesso_colaborador

PATCH/colaborador/{id}/perfil_acesso Exige credencial

Escolhe o perfil de acesso do colaborador

Exige a permissão editar na área colaboradores. É a única escrita no colaborador: troca o perfil de acesso que define o que a pessoa enxerga. perfil_acesso_id nulo tira o perfil, e a pessoa fica sem nenhuma área. O colaborador de um master do TermoAuth tem tudo liberado e não recebe perfil. A troca vale na próxima requisição da pessoa.

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

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

Argumentos

Nome

Tipo

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

Tipos

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

Colaborador

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

export interface Colaborador {
  ativo: boolean;
  atualizado_em: string;
  auth_id: string;
  cargo?: string | null;
  criado_em: string;
  email: string;
  funcao?: string | null;
  id: string;
  master: boolean;
  nome: string;
  perfil_acesso?: string | null;
  perfil_acesso_id?: string | null;
  setor?: string | null;
  telefone?: string | null;
}

ColaboradorVincularPerfilAcesso

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

export interface ColaboradorVincularPerfilAcesso {
  perfil_acesso_id?: string | null;
}

PaginaColaborador

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

export interface PaginaColaborador {
  itens: Array<PaginaColaboradorItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaColaboradorAutoComplete

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

export interface PaginaColaboradorAutoComplete {
  itens: Array<PaginaColaboradorAutoCompleteItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaColaboradorAutoCompleteItensItem

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

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

PaginaColaboradorItensItem

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

export interface PaginaColaboradorItensItem {
  ativo: boolean;
  atualizado_em: string;
  auth_id: string;
  cargo?: string | null;
  criado_em: string;
  email: string;
  funcao?: string | null;
  id: string;
  master: boolean;
  nome: string;
  perfil_acesso?: string | null;
  perfil_acesso_id?: string | null;
  setor?: string | null;
  telefone?: string | null;
}

Nesta página