Comentário

6 funções do TermoSupport para comentário.

// 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_comentarioGET /comentarioLista os comentários paginados
criar_comentarioPOST /comentarioComenta numa tarefa ou ticket
buscar_pelo_filtro_comentarioGET /comentario/filtroLista a conversa de uma tarefa ou ticket
buscar_pelo_id_comentarioGET /comentario/{id}Busca um comentário pelo id
atualizar_pelo_id_comentarioPATCH /comentario/{id}Edita um comentário pelo id
deletar_pelo_id_comentarioDELETE /comentario/{id}Exclui um comentário pelo id

buscar_paginador_comentario

GET/comentario Exige credencial

Lista os comentários paginados

Exige a permissão de leitura na área projetos ou tickets (qualquer das ações ler, criar, editar ou deletar libera a leitura). Do mais novo para o mais antigo, sempre 50 por página: tamanho é ignorado. tarefa_id e ticket_id limitam a uma tarefa ou ticket.

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

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

Argumentos

Nome

Tipo

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

criar_comentario

POST/comentario Exige credencial

Comenta numa tarefa ou ticket

Exige a permissão criar na área projetos ou tickets. Grava o comentário de quem está logado em uma tarefa (tarefa_id) ou um ticket (ticket_id), nunca nos dois. texto é obrigatório (até 10000 caracteres). interno (só no ticket) vira nota que o solicitante não acompanha. mencionados são os colaboradores marcados com @, que recebem notificação; o responsável e o criador da tarefa (ou o responsável e o solicitante do ticket) também são avisados. A primeira resposta pública da equipe num ticket novo registra a primeira resposta e o põe em atendimento.

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

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

Argumentos

Nome

Tipo

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

buscar_pelo_filtro_comentario

GET/comentario/filtro Exige credencial

Lista a conversa de uma tarefa ou ticket

Exige a permissão de leitura na área projetos ou tickets (qualquer das ações ler, criar, editar ou deletar libera a leitura). Devolve até 1000 comentários do mais antigo para o mais novo. Informe tarefa_id ou ticket_id.

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

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

Argumentos

Nome

Tipo

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

buscar_pelo_id_comentario

GET/comentario/{id} Exige credencial

Busca um comentário pelo id

Exige a permissão de leitura na área projetos ou tickets (qualquer das ações ler, criar, editar ou deletar libera a leitura). Comentário excluído não é encontrado.

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

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

Argumentos

Nome

Tipo

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

atualizar_pelo_id_comentario

PATCH/comentario/{id} Exige credencial

Edita um comentário pelo id

Exige a permissão editar na área projetos ou tickets. Troca o texto (obrigatório, até 10000 caracteres). Só quem escreveu edita; o comentário passa a mostrar editado.

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

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

Argumentos

Nome

Tipo

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

deletar_pelo_id_comentario

DELETE/comentario/{id} Exige credencial

Exclui um comentário pelo id

Exige a permissão deletar na área projetos ou tickets. Exclusão lógica. Só quem escreveu exclui.

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

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
await deletar_pelo_id_comentario(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.

ColaboradorResumo

Quem aparece como dono, membro, responsável, solicitante ou autor nos projetos, tarefas e tickets.

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

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

Comentario

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

export interface Comentario {
  atualizado_em: string;
  autor?: ColaboradorResumo | null;
  autor_nome: string;
  criado_em: string;
  editado: boolean;
  id: string;
  /**
   * Nota interna do ticket: só a equipe vê.
   */
  interno: boolean;
  tarefa_id?: string | null;
  texto: string;
  ticket_id?: string | null;
}

ComentarioAtualizar

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

export interface ComentarioAtualizar {
  texto: string;
}

ComentarioCriar

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

export interface ComentarioCriar {
  interno?: boolean;
  /**
   * Colaboradores marcados com @ no texto: recebem uma notificação.
   */
  mencionados?: Array<string>;
  tarefa_id?: string | null;
  texto: string;
  ticket_id?: string | null;
}

PaginaComentario

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

export interface PaginaComentario {
  itens: Array<PaginaComentarioItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaComentarioItensItem

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

export interface PaginaComentarioItensItem {
  atualizado_em: string;
  autor?: ColaboradorResumo | null;
  autor_nome: string;
  criado_em: string;
  editado: boolean;
  id: string;
  /**
   * Nota interna do ticket: só a equipe vê.
   */
  interno: boolean;
  tarefa_id?: string | null;
  texto: string;
  ticket_id?: string | null;
}

Nesta página