Colaborador

6 funções do TermoIntranetAPI para colaborador.

// npm install termo_core --save-exact
import * as intranet from "termo_core/intranet";
// ou: import { intranet } from "termo_core";
FunçãoRotaO que faz
buscar_paginador_colaboradorGET /colaboradorLista os colaboradores com paginação por cursor
buscar_auto_complete_colaboradorGET /colaborador/autocompleteLista básica de colaboradores para seleção
buscar_pelo_filtro_colaboradorGET /colaborador/filtroBusca colaboradores por filtro
buscar_total_colaboradorGET /colaborador/totalTotal de registros do paginador
buscar_pelo_id_colaboradorGET /colaborador/{id}Busca um colaborador pelo id
vincular_perfil_acesso_colaboradorPATCH /colaborador/{id}/perfil_acessoDefine o perfil de acesso de um colaborador

buscar_paginador_colaborador

GET/colaborador Exige credencial

Lista os colaboradores com paginação por cursor

Exige qualquer permissão da área colaboradores. Ordena por nome e id, sempre 50 itens por página. nome, setor e cargo procuram por trecho, sem diferenciar maiúsculas, e ativo filtra pela situação (é o filtro da tela). Sem cursor vem a primeira página de colaboradores; para a seguinte, envie em cursor o proximo_cursor recebido (nulo na última página). O total de registros não vem aqui: está em GET /colaborador/total, para a lista não esperar o count(*). Cursor de id inexistente devolve página vazia. Quando quem chama é master do TermoAuth, antes de listar o backend cadastra os colaboradores do TermoAuth que ainda não existem aqui, com o perfil de acesso "Acesso inicial" (só leitura). Colaboradores excluídos não aparecem.

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

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

Argumentos

Nome

Tipo

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

buscar_auto_complete_colaborador

GET/colaborador/autocomplete Exige credencial

Lista básica de colaboradores para seleção

Exige qualquer permissão da área colaboradores. Devolve só id, nome e e-mail, em ordem alfabética de nome, para escolher um colaborador. busca procura por trecho do nome ou do e-mail, sem diferenciar maiúsculas. Paginação por cursor: tamanho tem padrão 10 e máximo 100, e para a página seguinte envie em cursor o proximo_cursor recebido.

function buscar_auto_complete_colaborador(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteColaborador = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaColaboradorAutoCompleteString>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_colaborador } from "termo_core/intranet";

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

buscar_pelo_filtro_colaborador

GET/colaborador/filtro Exige credencial

Busca colaboradores por filtro

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

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

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_total_colaborador

GET/colaborador/total Exige credencial

Total de registros do paginador

Exige qualquer permissão da área colaboradores. Devolve só o count(*) com os mesmos filtros de GET /colaborador (nome, setor, cargo e ativo), para o frontend montar o paginador sem atrasar a lista: a tela pede a primeira página e o total em paralelo. Conta os mesmos colaboradores que a listagem devolve; excluídos não contam.

function buscar_total_colaborador(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarTotalColaborador = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Total>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_total_colaborador } from "termo_core/intranet";

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

Argumentos

Nome

Tipo

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

buscar_pelo_id_colaborador

GET/colaborador/{id} Exige credencial

Busca um colaborador pelo id

Exige qualquer permissão da área colaboradores. O colaborador é do TermoAuth, que é o único que cria, altera e exclui; aqui só se define o perfil de acesso dele. Colaborador excluído responde 404. Traz junto o e-mail do acesso, se ele é master do TermoAuth, o setor, o cargo e a função vindos do TermoAuth e o perfil de acesso (perfil_acesso_id e o nome em perfil_acesso, nulos quando a pessoa ainda não tem perfil).

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

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

Define o perfil de acesso de um colaborador

Exige a permissão editar da área colaboradores. É a única escrita do colaborador feita pelo TermoIntranetAPI: perfil_acesso_id aponta para um perfil de GET /perfil_acesso/filtro e passa a definir o que a pessoa enxerga; null tira o perfil e deixa a pessoa sem nenhuma área. O colaborador de um master do TermoAuth não aceita perfil (ele já tem tudo). Vale em até 5 minutos (cache do acesso).

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

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

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

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

PaginaColaboradorAutoCompleteString

import type { PaginaColaboradorAutoCompleteString } from "termo_core/intranet";

export interface PaginaColaboradorAutoCompleteString {
  itens: Array<PaginaColaboradorAutoCompleteStringItensItem>;
  proximo_cursor?: string;
  tamanho: number;
}

PaginaColaboradorAutoCompleteStringItensItem

import type { PaginaColaboradorAutoCompleteStringItensItem } from "termo_core/intranet";

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

PaginaColaboradorString

import type { PaginaColaboradorString } from "termo_core/intranet";

export interface PaginaColaboradorString {
  itens: Array<PaginaColaboradorStringItensItem>;
  proximo_cursor?: string;
  tamanho: number;
}

PaginaColaboradorStringItensItem

import type { PaginaColaboradorStringItensItem } from "termo_core/intranet";

export interface PaginaColaboradorStringItensItem {
  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;
}

Total

import type { Total } from "termo_core/intranet";

export interface Total {
  total: number;
}

Nesta página