Tarefa
7 funções do TermoSupport para tarefa.
// npm install termo_core --save-exact
import * as support from "termo_core/support";
// ou: import { support } from "termo_core";| Função | Rota | O que faz |
|---|---|---|
buscar_paginador_tarefa | GET /tarefa | Lista as tarefas paginadas |
criar_tarefa | POST /tarefa | Cadastra uma tarefa |
buscar_auto_complete_tarefa | GET /tarefa/autocomplete | Lista básica de tarefas para seleção |
buscar_pelo_filtro_tarefa | GET /tarefa/filtro | Busca tarefas por filtro |
buscar_pelo_id_tarefa | GET /tarefa/{id} | Busca uma tarefa pelo id |
atualizar_pelo_id_tarefa | PATCH /tarefa/{id} | Atualiza uma tarefa pelo id |
deletar_pelo_id_tarefa | DELETE /tarefa/{id} | Exclui uma tarefa pelo id |
buscar_paginador_tarefa
GET/tarefa Exige credencial
Lista as tarefas paginadas
Exige a permissão de leitura na área projetos (qualquer das ações ler, criar, editar ou deletar libera a leitura). Lista da mais recente para a mais antiga, sempre 50 por página: tamanho é ignorado. Filtra por projeto_id, responsavel_id, concluida e busca (título). Visibilidade: projeto com visibilidade MEMBROS só aparece para o dono, os membros e o master do TermoAuth; para os demais ele, as tarefas e as seções dele somem das listas e o acesso pelo id (ou por projeto_id/tarefa_id/secao_id na query) responde 404. O responsável sempre enxerga a própria tarefa.
function buscar_paginador_tarefa(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPaginadorTarefa = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaTarefa>import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_tarefa } from "termo_core/support";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_tarefa(credencial_de_acesso, { pagina: 1 });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaTarefa> · Rust: Result<tipos::PaginaTarefa, ErroAoChamarServico> · veja PaginaTarefa.
criar_tarefa
POST/tarefa Exige credencial
Cadastra uma tarefa
Exige a permissão criar na área projetos. Cria a tarefa no projeto. Sem secao_id, entra na primeira coluna; com tarefa_pai_id, vira subtarefa (sem coluna; subtarefa não tem subtarefas). ticket_id liga a tarefa ao ticket de suporte que a originou. titulo é obrigatório (até 300 caracteres); descricao até 20000; prioridade é BAIXA, MEDIA, ALTA ou URGENTE; estimativa de 0 a 10000 pontos; inicio não pode passar do prazo. Quem criou fica como criador, a atividade ganha a linha de criação e o responsável recebe uma notificação. Visibilidade: projeto com visibilidade MEMBROS só aparece para o dono, os membros e o master do TermoAuth; para os demais ele, as tarefas e as seções dele somem das listas e o acesso pelo id (ou por projeto_id/tarefa_id/secao_id na query) responde 404. O responsável sempre enxerga a própria tarefa.
function criar_tarefa(
credencial_de_acesso: CredencialDeAcesso,
corpo_da_requisicao: tipos.TarefaCriar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Tarefa>import { CredencialDeAcesso } from "termo_core";
import { criar_tarefa } from "termo_core/support";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await criar_tarefa(credencial_de_acesso, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Tarefa> · Rust: Result<tipos::Tarefa, ErroAoChamarServico> · veja Tarefa.
buscar_auto_complete_tarefa
GET/tarefa/autocomplete Exige credencial
Lista básica de tarefas para seleção
Exige a permissão de leitura na área projetos (qualquer das ações ler, criar, editar ou deletar libera a leitura). Devolve id, título e nome do projeto, em ordem alfabética. busca procura no título e projeto_id limita a um projeto. Visibilidade: projeto com visibilidade MEMBROS só aparece para o dono, os membros e o master do TermoAuth; para os demais ele, as tarefas e as seções dele somem das listas e o acesso pelo id (ou por projeto_id/tarefa_id/secao_id na query) responde 404. O responsável sempre enxerga a própria tarefa.
function buscar_auto_complete_tarefa(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarAutoCompleteTarefa = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaTarefaAutoComplete>import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_tarefa } from "termo_core/support";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_tarefa(credencial_de_acesso, { busca: "..." });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaTarefaAutoComplete> · Rust: Result<tipos::PaginaTarefaAutoComplete, ErroAoChamarServico> · veja PaginaTarefaAutoComplete.
buscar_pelo_filtro_tarefa
GET/tarefa/filtro Exige credencial
Busca tarefas por filtro
Exige a permissão de leitura na área projetos (qualquer das ações ler, criar, editar ou deletar libera a leitura). Devolve até 2000 tarefas. É a leitura do quadro, da lista, do calendário, do cronograma e de "Minhas tarefas". Os filtros se somam: projeto_id, secao_id, responsavel_id, tarefa_pai_id (subtarefas de uma tarefa), ticket_id, aplicativo_id (projetos ligados ao aplicativo), etiqueta_id, somente_principais (sem subtarefas), concluida, prazo_de/prazo_ate e busca (título ou descrição). A ordem é a do quadro (coluna e posição) ou, com ordenar_por_prazo=true, o prazo mais próximo primeiro.
function buscar_pelo_filtro_tarefa(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPeloFiltroTarefa = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.Tarefa>>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_tarefa } from "termo_core/support";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_tarefa(credencial_de_acesso, { projeto_id: "..." });Argumentos
Nome
Tipo
Retorno: Promise<Array<tipos.Tarefa>> · Rust: Result<Vec<tipos::Tarefa>, ErroAoChamarServico>
buscar_pelo_id_tarefa
GET/tarefa/{id} Exige credencial
Busca uma tarefa pelo id
Exige a permissão de leitura na área projetos (qualquer das ações ler, criar, editar ou deletar libera a leitura). Devolve a tarefa com projeto, coluna, responsável, criador, etiquetas e as contagens de subtarefas, comentários e anexos. Visibilidade: projeto com visibilidade MEMBROS só aparece para o dono, os membros e o master do TermoAuth; para os demais ele, as tarefas e as seções dele somem das listas e o acesso pelo id (ou por projeto_id/tarefa_id/secao_id na query) responde 404. O responsável sempre enxerga a própria tarefa.
function buscar_pelo_id_tarefa(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Tarefa>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_tarefa } from "termo_core/support";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_tarefa(credencial_de_acesso, id);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Tarefa> · Rust: Result<tipos::Tarefa, ErroAoChamarServico> · veja Tarefa.
atualizar_pelo_id_tarefa
PATCH/tarefa/{id} Exige credencial
Atualiza uma tarefa pelo id
Exige a permissão editar na área projetos. Atualização parcial com as regras do cadastro. Mover no quadro é mandar secao_id (coluna do mesmo projeto) e ordem (decimal: a média entre os vizinhos). null em responsavel_id, inicio, prazo, prioridade ou estimativa apaga o valor; texto vazio em descricao apaga. concluida grava ou apaga concluida_em. etiqueta_ids substitui a lista. Cada mudança entra na atividade da tarefa; o novo responsável e, ao concluir, o criador recebem notificação. Visibilidade: projeto com visibilidade MEMBROS só aparece para o dono, os membros e o master do TermoAuth; para os demais ele, as tarefas e as seções dele somem das listas e o acesso pelo id (ou por projeto_id/tarefa_id/secao_id na query) responde 404. O responsável sempre enxerga a própria tarefa.
function atualizar_pelo_id_tarefa(
credencial_de_acesso: CredencialDeAcesso,
id: string,
corpo_da_requisicao: tipos.TarefaAtualizar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Tarefa>import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_tarefa } from "termo_core/support";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await atualizar_pelo_id_tarefa(credencial_de_acesso, id, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Tarefa> · Rust: Result<tipos::Tarefa, ErroAoChamarServico> · veja Tarefa.
deletar_pelo_id_tarefa
DELETE/tarefa/{id} Exige credencial
Exclui uma tarefa pelo id
Exige a permissão deletar na área projetos. Exclusão lógica da tarefa e das subtarefas dela. Visibilidade: projeto com visibilidade MEMBROS só aparece para o dono, os membros e o master do TermoAuth; para os demais ele, as tarefas e as seções dele somem das listas e o acesso pelo id (ou por projeto_id/tarefa_id/secao_id na query) responde 404. O responsável sempre enxerga a própria tarefa.
function deletar_pelo_id_tarefa(
credencial_de_acesso: CredencialDeAcesso,
id: string,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<void>import { CredencialDeAcesso } from "termo_core";
import { deletar_pelo_id_tarefa } from "termo_core/support";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
await deletar_pelo_id_tarefa(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.
AplicativoResumo
O aplicativo como aparece dentro dos projetos e tickets.
import type { AplicativoResumo } from "termo_core/support";
export interface AplicativoResumo {
cor: string;
id: string;
nome: string;
}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;
}EtiquetaResumo
A etiqueta como aparece dentro da tarefa.
import type { EtiquetaResumo } from "termo_core/support";
export interface EtiquetaResumo {
cor: string;
id: string;
nome: string;
}PaginaTarefa
import type { PaginaTarefa } from "termo_core/support";
export interface PaginaTarefa {
itens: Array<PaginaTarefaItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaTarefaAutoComplete
import type { PaginaTarefaAutoComplete } from "termo_core/support";
export interface PaginaTarefaAutoComplete {
itens: Array<PaginaTarefaAutoCompleteItensItem>;
pagina: number;
tamanho: number;
total: number;
}PaginaTarefaAutoCompleteItensItem
import type { PaginaTarefaAutoCompleteItensItem } from "termo_core/support";
export interface PaginaTarefaAutoCompleteItensItem {
id: string;
projeto_nome: string;
titulo: string;
}PaginaTarefaItensItem
import type { PaginaTarefaItensItem } from "termo_core/support";
export interface PaginaTarefaItensItem {
anexos_total: number;
atualizado_em: string;
comentarios_total: number;
concluida: boolean;
concluida_em?: string | null;
criado_em: string;
criador?: ColaboradorResumo | null;
descricao?: string | null;
/**
* Esforço em pontos (o número do cartão).
*/
estimativa?: number | null;
etiquetas: Array<EtiquetaResumo>;
id: string;
inicio?: string | null;
marco: boolean;
ordem: number;
prazo?: string | null;
prioridade?: string | null;
projeto_cor: string;
projeto_id: string;
projeto_nome: string;
responsavel?: ColaboradorResumo | null;
/**
* Coluna do quadro. Subtarefa não tem coluna.
*/
secao_id?: string | null;
secao_nome?: string | null;
subtarefas_concluidas: number;
subtarefas_total: number;
tarefa_pai_id?: string | null;
tarefa_pai_titulo?: string | null;
/**
* Ticket de suporte que deu origem à tarefa.
*/
ticket_id?: string | null;
ticket_numero?: number | null;
titulo: string;
}Tarefa
import type { Tarefa } from "termo_core/support";
export interface Tarefa {
anexos_total: number;
atualizado_em: string;
comentarios_total: number;
concluida: boolean;
concluida_em?: string | null;
criado_em: string;
criador?: ColaboradorResumo | null;
descricao?: string | null;
/**
* Esforço em pontos (o número do cartão).
*/
estimativa?: number | null;
etiquetas: Array<EtiquetaResumo>;
id: string;
inicio?: string | null;
marco: boolean;
ordem: number;
prazo?: string | null;
prioridade?: string | null;
projeto_cor: string;
projeto_id: string;
projeto_nome: string;
responsavel?: ColaboradorResumo | null;
/**
* Coluna do quadro. Subtarefa não tem coluna.
*/
secao_id?: string | null;
secao_nome?: string | null;
subtarefas_concluidas: number;
subtarefas_total: number;
tarefa_pai_id?: string | null;
tarefa_pai_titulo?: string | null;
/**
* Ticket de suporte que deu origem à tarefa.
*/
ticket_id?: string | null;
ticket_numero?: number | null;
titulo: string;
}TarefaAtualizar
import type { TarefaAtualizar } from "termo_core/support";
export interface TarefaAtualizar {
concluida?: boolean | null;
descricao?: string | null;
estimativa?: number | null;
etiqueta_ids?: Array<string> | null;
inicio?: string | null;
marco?: boolean | null;
ordem?: number | null;
prazo?: string | null;
prioridade?: string | null;
responsavel_id?: string | null;
secao_id?: string | null;
titulo?: string | null;
}TarefaCriar
import type { TarefaCriar } from "termo_core/support";
export interface TarefaCriar {
descricao?: string | null;
estimativa?: number | null;
etiqueta_ids?: Array<string>;
inicio?: string | null;
marco?: boolean;
/**
* Sem ordem, a tarefa entra no fim da coluna.
*/
ordem?: number | null;
prazo?: string | null;
prioridade?: string | null;
projeto_id: string;
responsavel_id?: string | null;
/**
* Sem seção (e sem tarefa pai), a tarefa entra na primeira coluna do projeto.
*/
secao_id?: string | null;
/**
* Preenchido, cria uma subtarefa (sem coluna) dessa tarefa.
*/
tarefa_pai_id?: string | null;
ticket_id?: string | null;
titulo: string;
}Ticket
import type { Ticket } from "termo_core/support";
export interface Ticket {
anexos_total: number;
aplicativo: AplicativoResumo;
/**
* `true` quando o prazo passou antes de o ticket ser resolvido.
*/
atrasado: boolean;
atualizado_em: string;
canal: string;
comentarios_total: number;
criado_em: string;
descricao: string;
fechado_em?: string | null;
id: string;
/**
* Número sequencial mostrado como #1024.
*/
numero: number;
origem_url?: string | null;
/**
* Prazo de atendimento (SLA).
*/
prazo?: string | null;
primeira_resposta_em?: string | null;
prioridade: string;
resolvido_em?: string | null;
responsavel?: ColaboradorResumo | null;
solicitante?: ColaboradorResumo | null;
solicitante_email?: string | null;
solicitante_nome: string;
status: string;
tarefas: Array<TicketTarefa>;
tipo: string;
titulo: string;
}TicketTarefa
Tarefa de projeto criada a partir do ticket.
import type { TicketTarefa } from "termo_core/support";
export interface TicketTarefa {
concluida: boolean;
id: string;
projeto_id: string;
projeto_nome: string;
titulo: string;
}