termo_core 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/miro/rotas.d.ts +71 -1
- package/dist/miro/rotas.js +99 -1
- package/dist/miro/tipos.d.ts +260 -0
- package/dist/support/rotas.d.ts +773 -49
- package/dist/support/rotas.js +971 -50
- package/dist/support/tipos.d.ts +745 -48
- package/package.json +1 -1
package/dist/support/rotas.js
CHANGED
|
@@ -2,167 +2,1088 @@
|
|
|
2
2
|
import { chamar_servico, codificar_parametro_de_caminho } from "../base/requisicao.js";
|
|
3
3
|
import { TERMO_SUPPORT as SERVICO_DESTA_API } from "../base/servicos.js";
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Anexa um arquivo ou link
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* Exige a permissão `criar` na área `projetos` ou `tickets`. Anexa a uma tarefa (`tarefa_id`) ou ticket (`ticket_id`), nunca aos dois. Mande o arquivo em `arquivo_base64` (com ou sem o prefixo `data:...;base64,`, até 10 MB, `tipo_mime` informa o formato) ou um link em `url` (`http://` ou `https://`, até 1000 caracteres). Com `importar_url: true`, o servidor baixa a imagem de `url` e guarda o arquivo no lugar do link (é o caminho para anexar imagens pelo MCP): só `https://`, sem redirecionamento, servidor de IP público, resposta `image/*` de até 10 MB; o `tipo_mime` vem da resposta. `nome` é obrigatório (até 200). O arquivo vai para o TermoBucket (privado, app `termo-suporte`); se o bucket falhar, fica no banco até a rotina do backend levá-lo. O corpo aceita até 16 MiB. A atividade da tarefa ou do ticket ganha a linha do anexo.
|
|
8
8
|
*
|
|
9
|
-
* `
|
|
9
|
+
* `POST /anexo`
|
|
10
10
|
*/
|
|
11
|
-
export function
|
|
11
|
+
export function criar_anexo(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
12
|
+
return chamar_servico({
|
|
13
|
+
servico: SERVICO_DESTA_API,
|
|
14
|
+
metodo_http: "POST",
|
|
15
|
+
caminho_da_rota: "/anexo",
|
|
16
|
+
credencial_de_acesso,
|
|
17
|
+
corpo_json: corpo_da_requisicao,
|
|
18
|
+
formato_da_resposta: "json",
|
|
19
|
+
}, opcoes_da_chamada);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Lista os anexos de uma tarefa ou ticket
|
|
23
|
+
*
|
|
24
|
+
* 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é 500 anexos, do mais novo para o mais antigo, sem o conteúdo dos arquivos. Informe `tarefa_id` ou `ticket_id`.
|
|
25
|
+
*
|
|
26
|
+
* `GET /anexo/filtro`
|
|
27
|
+
*/
|
|
28
|
+
export function buscar_pelo_filtro_anexo(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
29
|
+
return chamar_servico({
|
|
30
|
+
servico: SERVICO_DESTA_API,
|
|
31
|
+
metodo_http: "GET",
|
|
32
|
+
caminho_da_rota: "/anexo/filtro",
|
|
33
|
+
credencial_de_acesso,
|
|
34
|
+
parametros_de_consulta: parametros,
|
|
35
|
+
formato_da_resposta: "json",
|
|
36
|
+
}, opcoes_da_chamada);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Baixa um anexo pelo id
|
|
40
|
+
*
|
|
41
|
+
* Exige a permissão de leitura na área `projetos` ou `tickets` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Devolve os dados do anexo e, quando é arquivo, `url_download`: endereço de download assinado do TermoBucket (arquivo privado do app `termo-suporte`), válido por 15 minutos. `conteudo_base64` só vem preenchido enquanto o arquivo ainda está no banco (o TermoBucket falhou no envio; a rotina do backend leva ao bucket a cada 30 minutos). Os dois ficam vazios quando o anexo é um link.
|
|
42
|
+
*
|
|
43
|
+
* `GET /anexo/{id}`
|
|
44
|
+
*/
|
|
45
|
+
export function buscar_pelo_id_anexo(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
46
|
+
return chamar_servico({
|
|
47
|
+
servico: SERVICO_DESTA_API,
|
|
48
|
+
metodo_http: "GET",
|
|
49
|
+
caminho_da_rota: `/anexo/${codificar_parametro_de_caminho(id)}`,
|
|
50
|
+
credencial_de_acesso,
|
|
51
|
+
formato_da_resposta: "json",
|
|
52
|
+
}, opcoes_da_chamada);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Renomeia um anexo pelo id
|
|
56
|
+
*
|
|
57
|
+
* Exige a permissão `editar` na área `projetos` ou `tickets`. Troca o `nome` (obrigatório, até 200 caracteres).
|
|
58
|
+
*
|
|
59
|
+
* `PATCH /anexo/{id}`
|
|
60
|
+
*/
|
|
61
|
+
export function atualizar_pelo_id_anexo(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
62
|
+
return chamar_servico({
|
|
63
|
+
servico: SERVICO_DESTA_API,
|
|
64
|
+
metodo_http: "PATCH",
|
|
65
|
+
caminho_da_rota: `/anexo/${codificar_parametro_de_caminho(id)}`,
|
|
66
|
+
credencial_de_acesso,
|
|
67
|
+
corpo_json: corpo_da_requisicao,
|
|
68
|
+
formato_da_resposta: "json",
|
|
69
|
+
}, opcoes_da_chamada);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Exclui um anexo pelo id
|
|
73
|
+
*
|
|
74
|
+
* Exige a permissão `deletar` na área `projetos` ou `tickets`. Exclusão lógica.
|
|
75
|
+
*
|
|
76
|
+
* `DELETE /anexo/{id}`
|
|
77
|
+
*/
|
|
78
|
+
export function deletar_pelo_id_anexo(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
79
|
+
return chamar_servico({
|
|
80
|
+
servico: SERVICO_DESTA_API,
|
|
81
|
+
metodo_http: "DELETE",
|
|
82
|
+
caminho_da_rota: `/anexo/${codificar_parametro_de_caminho(id)}`,
|
|
83
|
+
credencial_de_acesso,
|
|
84
|
+
formato_da_resposta: "sem_conteudo",
|
|
85
|
+
}, opcoes_da_chamada);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Lista os aplicativos paginados
|
|
89
|
+
*
|
|
90
|
+
* Exige a permissão de leitura na área `aplicativos`. A lista de aplicativos é a do TermoAuth (não há cadastro, edição nem exclusão no TermoSupport): antes de responder, a rota busca os apps no TermoAuth pelo `termo_core` com o token de quem chamou e espelha nome, endereço, descrição e cor. Para um master do TermoAuth vem a lista inteira (`todos=true`) e o que sumiu de lá fica inativo; para os demais, só entram ou se atualizam os apps que a pessoa pode abrir. Falha no TermoAuth não impede a resposta: vem o que já estava sincronizado. A sincronização também roda quando um master entra. Lista os aplicativos sincronizados (com `termoauth_id`) 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 aplicativos não excluídos.
|
|
91
|
+
*
|
|
92
|
+
* `GET /aplicativo`
|
|
93
|
+
*/
|
|
94
|
+
export function buscar_paginador_aplicativo(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
95
|
+
return chamar_servico({
|
|
96
|
+
servico: SERVICO_DESTA_API,
|
|
97
|
+
metodo_http: "GET",
|
|
98
|
+
caminho_da_rota: "/aplicativo",
|
|
99
|
+
credencial_de_acesso,
|
|
100
|
+
parametros_de_consulta: parametros,
|
|
101
|
+
formato_da_resposta: "json",
|
|
102
|
+
}, opcoes_da_chamada);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Lista básica de aplicativos para seleção
|
|
106
|
+
*
|
|
107
|
+
* Exige a permissão de leitura na área `aplicativos`, `projetos` ou `tickets`. Devolve só id, nome e endereço, em ordem alfabética do nome, sem os excluídos. `somente_ativos=true` deixa de fora os aplicativos inativos (é o que usam os campos de projetos e tickets). `busca` procura o trecho no nome ou no endereço, 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.
|
|
108
|
+
*
|
|
109
|
+
* `GET /aplicativo/autocomplete`
|
|
110
|
+
*/
|
|
111
|
+
export function buscar_auto_complete_aplicativo(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
112
|
+
return chamar_servico({
|
|
113
|
+
servico: SERVICO_DESTA_API,
|
|
114
|
+
metodo_http: "GET",
|
|
115
|
+
caminho_da_rota: "/aplicativo/autocomplete",
|
|
116
|
+
credencial_de_acesso,
|
|
117
|
+
parametros_de_consulta: parametros,
|
|
118
|
+
formato_da_resposta: "json",
|
|
119
|
+
}, opcoes_da_chamada);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Busca aplicativos por filtro
|
|
123
|
+
*
|
|
124
|
+
* Exige a permissão de leitura na área `aplicativos`. Devolve todos os aplicativos sincronizados com o TermoAuth que casam com o filtro, sem paginação, em ordem alfabética do nome. `nome` e `endereco` procuram o trecho no campo, sem diferenciar maiúsculas; `ativo` filtra pela situação. Sem filtro, devolve todos.
|
|
125
|
+
*
|
|
126
|
+
* `GET /aplicativo/filtro`
|
|
127
|
+
*/
|
|
128
|
+
export function buscar_pelo_filtro_aplicativo(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
129
|
+
return chamar_servico({
|
|
130
|
+
servico: SERVICO_DESTA_API,
|
|
131
|
+
metodo_http: "GET",
|
|
132
|
+
caminho_da_rota: "/aplicativo/filtro",
|
|
133
|
+
credencial_de_acesso,
|
|
134
|
+
parametros_de_consulta: parametros,
|
|
135
|
+
formato_da_resposta: "json",
|
|
136
|
+
}, opcoes_da_chamada);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Busca um aplicativo pelo id
|
|
140
|
+
*
|
|
141
|
+
* Exige a permissão de leitura na área `aplicativos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Aplicativo excluído não é encontrado.
|
|
142
|
+
*
|
|
143
|
+
* `GET /aplicativo/{id}`
|
|
144
|
+
*/
|
|
145
|
+
export function buscar_pelo_id_aplicativo(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
146
|
+
return chamar_servico({
|
|
147
|
+
servico: SERVICO_DESTA_API,
|
|
148
|
+
metodo_http: "GET",
|
|
149
|
+
caminho_da_rota: `/aplicativo/${codificar_parametro_de_caminho(id)}`,
|
|
150
|
+
credencial_de_acesso,
|
|
151
|
+
formato_da_resposta: "json",
|
|
152
|
+
}, opcoes_da_chamada);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Lista os comentários paginados
|
|
156
|
+
*
|
|
157
|
+
* 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.
|
|
158
|
+
*
|
|
159
|
+
* `GET /comentario`
|
|
160
|
+
*/
|
|
161
|
+
export function buscar_paginador_comentario(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
162
|
+
return chamar_servico({
|
|
163
|
+
servico: SERVICO_DESTA_API,
|
|
164
|
+
metodo_http: "GET",
|
|
165
|
+
caminho_da_rota: "/comentario",
|
|
166
|
+
credencial_de_acesso,
|
|
167
|
+
parametros_de_consulta: parametros,
|
|
168
|
+
formato_da_resposta: "json",
|
|
169
|
+
}, opcoes_da_chamada);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Comenta numa tarefa ou ticket
|
|
173
|
+
*
|
|
174
|
+
* 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.
|
|
175
|
+
*
|
|
176
|
+
* `POST /comentario`
|
|
177
|
+
*/
|
|
178
|
+
export function criar_comentario(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
179
|
+
return chamar_servico({
|
|
180
|
+
servico: SERVICO_DESTA_API,
|
|
181
|
+
metodo_http: "POST",
|
|
182
|
+
caminho_da_rota: "/comentario",
|
|
183
|
+
credencial_de_acesso,
|
|
184
|
+
corpo_json: corpo_da_requisicao,
|
|
185
|
+
formato_da_resposta: "json",
|
|
186
|
+
}, opcoes_da_chamada);
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Lista a conversa de uma tarefa ou ticket
|
|
190
|
+
*
|
|
191
|
+
* 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`.
|
|
192
|
+
*
|
|
193
|
+
* `GET /comentario/filtro`
|
|
194
|
+
*/
|
|
195
|
+
export function buscar_pelo_filtro_comentario(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
196
|
+
return chamar_servico({
|
|
197
|
+
servico: SERVICO_DESTA_API,
|
|
198
|
+
metodo_http: "GET",
|
|
199
|
+
caminho_da_rota: "/comentario/filtro",
|
|
200
|
+
credencial_de_acesso,
|
|
201
|
+
parametros_de_consulta: parametros,
|
|
202
|
+
formato_da_resposta: "json",
|
|
203
|
+
}, opcoes_da_chamada);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Busca um comentário pelo id
|
|
207
|
+
*
|
|
208
|
+
* 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.
|
|
209
|
+
*
|
|
210
|
+
* `GET /comentario/{id}`
|
|
211
|
+
*/
|
|
212
|
+
export function buscar_pelo_id_comentario(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
213
|
+
return chamar_servico({
|
|
214
|
+
servico: SERVICO_DESTA_API,
|
|
215
|
+
metodo_http: "GET",
|
|
216
|
+
caminho_da_rota: `/comentario/${codificar_parametro_de_caminho(id)}`,
|
|
217
|
+
credencial_de_acesso,
|
|
218
|
+
formato_da_resposta: "json",
|
|
219
|
+
}, opcoes_da_chamada);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Edita um comentário pelo id
|
|
223
|
+
*
|
|
224
|
+
* 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`.
|
|
225
|
+
*
|
|
226
|
+
* `PATCH /comentario/{id}`
|
|
227
|
+
*/
|
|
228
|
+
export function atualizar_pelo_id_comentario(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
229
|
+
return chamar_servico({
|
|
230
|
+
servico: SERVICO_DESTA_API,
|
|
231
|
+
metodo_http: "PATCH",
|
|
232
|
+
caminho_da_rota: `/comentario/${codificar_parametro_de_caminho(id)}`,
|
|
233
|
+
credencial_de_acesso,
|
|
234
|
+
corpo_json: corpo_da_requisicao,
|
|
235
|
+
formato_da_resposta: "json",
|
|
236
|
+
}, opcoes_da_chamada);
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Exclui um comentário pelo id
|
|
240
|
+
*
|
|
241
|
+
* Exige a permissão `deletar` na área `projetos` ou `tickets`. Exclusão lógica. Só quem escreveu exclui.
|
|
242
|
+
*
|
|
243
|
+
* `DELETE /comentario/{id}`
|
|
244
|
+
*/
|
|
245
|
+
export function deletar_pelo_id_comentario(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
246
|
+
return chamar_servico({
|
|
247
|
+
servico: SERVICO_DESTA_API,
|
|
248
|
+
metodo_http: "DELETE",
|
|
249
|
+
caminho_da_rota: `/comentario/${codificar_parametro_de_caminho(id)}`,
|
|
250
|
+
credencial_de_acesso,
|
|
251
|
+
formato_da_resposta: "sem_conteudo",
|
|
252
|
+
}, opcoes_da_chamada);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Lista os documentos paginados
|
|
256
|
+
*
|
|
257
|
+
* Exige a permissão de leitura na área `aplicativos`. Lista os documentos não excluídos em ordem alfabética do nome, sempre 50 por página: `tamanho` é ignorado. `aplicativo_id` limita a um aplicativo. `pagina` começa em 1 (padrão 1; valores menores viram 1). `total` conta os documentos com o mesmo filtro de aplicativo.
|
|
258
|
+
*
|
|
259
|
+
* `GET /documento`
|
|
260
|
+
*/
|
|
261
|
+
export function buscar_paginador_documento(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
262
|
+
return chamar_servico({
|
|
263
|
+
servico: SERVICO_DESTA_API,
|
|
264
|
+
metodo_http: "GET",
|
|
265
|
+
caminho_da_rota: "/documento",
|
|
266
|
+
credencial_de_acesso,
|
|
267
|
+
parametros_de_consulta: parametros,
|
|
268
|
+
formato_da_resposta: "json",
|
|
269
|
+
}, opcoes_da_chamada);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Cadastra um documento de um aplicativo
|
|
273
|
+
*
|
|
274
|
+
* Exige a permissão `criar` na área `aplicativos`. Cadastra um documento da base de conhecimento de um aplicativo. `aplicativo_id` precisa ser de um aplicativo não excluído. `nome` é obrigatório (até 120 caracteres). `tipo` é `TEXTO`, `TXT`, `MD` ou `PDF`, sem diferenciar maiúsculas (padrão `TEXTO`, gravado em maiúsculas). O conteúdo vem em `conteudo` (texto) ou em `arquivo_base64` (o arquivo em base64, com ou sem o prefixo `data:...;base64,`); quando `arquivo_base64` vem preenchido, `conteudo` é ignorado. Com `tipo` `PDF` o backend extrai o texto do PDF; nos demais tipos o arquivo precisa ser texto UTF-8. O texto final não pode ficar vazio, e `caracteres` é o tamanho dele. O corpo aceita até 8 MiB (um PDF de cerca de 5 MB em base64).
|
|
275
|
+
*
|
|
276
|
+
* `POST /documento`
|
|
277
|
+
*/
|
|
278
|
+
export function criar_documento(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
279
|
+
return chamar_servico({
|
|
280
|
+
servico: SERVICO_DESTA_API,
|
|
281
|
+
metodo_http: "POST",
|
|
282
|
+
caminho_da_rota: "/documento",
|
|
283
|
+
credencial_de_acesso,
|
|
284
|
+
corpo_json: corpo_da_requisicao,
|
|
285
|
+
formato_da_resposta: "json",
|
|
286
|
+
}, opcoes_da_chamada);
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Lista básica de documentos para seleção
|
|
290
|
+
*
|
|
291
|
+
* Exige a permissão de leitura na área `aplicativos`. Devolve só id, nome e tipo, em ordem alfabética do nome, sem os excluídos. `aplicativo_id` limita a um aplicativo e `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.
|
|
292
|
+
*
|
|
293
|
+
* `GET /documento/autocomplete`
|
|
294
|
+
*/
|
|
295
|
+
export function buscar_auto_complete_documento(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
296
|
+
return chamar_servico({
|
|
297
|
+
servico: SERVICO_DESTA_API,
|
|
298
|
+
metodo_http: "GET",
|
|
299
|
+
caminho_da_rota: "/documento/autocomplete",
|
|
300
|
+
credencial_de_acesso,
|
|
301
|
+
parametros_de_consulta: parametros,
|
|
302
|
+
formato_da_resposta: "json",
|
|
303
|
+
}, opcoes_da_chamada);
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Busca documentos por filtro
|
|
307
|
+
*
|
|
308
|
+
* Exige a permissão de leitura na área `aplicativos`. Devolve todos os documentos não excluídos que casam com o filtro, sem paginação, em ordem alfabética do nome, com o texto inteiro. `aplicativo_id` limita a um aplicativo; `nome` e `conteudo` procuram o trecho no campo, sem diferenciar maiúsculas; `tipo` é exato (`TEXTO`, `TXT`, `MD` ou `PDF`, sem diferenciar maiúsculas). Sem filtro, devolve todos.
|
|
309
|
+
*
|
|
310
|
+
* `GET /documento/filtro`
|
|
311
|
+
*/
|
|
312
|
+
export function buscar_pelo_filtro_documento(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
313
|
+
return chamar_servico({
|
|
314
|
+
servico: SERVICO_DESTA_API,
|
|
315
|
+
metodo_http: "GET",
|
|
316
|
+
caminho_da_rota: "/documento/filtro",
|
|
317
|
+
credencial_de_acesso,
|
|
318
|
+
parametros_de_consulta: parametros,
|
|
319
|
+
formato_da_resposta: "json",
|
|
320
|
+
}, opcoes_da_chamada);
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Busca um documento pelo id
|
|
324
|
+
*
|
|
325
|
+
* Exige a permissão de leitura na área `aplicativos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Devolve o documento com o texto inteiro em `conteudo`. Documento excluído não é encontrado.
|
|
326
|
+
*
|
|
327
|
+
* `GET /documento/{id}`
|
|
328
|
+
*/
|
|
329
|
+
export function buscar_pelo_id_documento(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
330
|
+
return chamar_servico({
|
|
331
|
+
servico: SERVICO_DESTA_API,
|
|
332
|
+
metodo_http: "GET",
|
|
333
|
+
caminho_da_rota: `/documento/${codificar_parametro_de_caminho(id)}`,
|
|
334
|
+
credencial_de_acesso,
|
|
335
|
+
formato_da_resposta: "json",
|
|
336
|
+
}, opcoes_da_chamada);
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Atualiza um documento pelo id
|
|
340
|
+
*
|
|
341
|
+
* Exige a permissão `editar` na área `aplicativos`. Atualização parcial: só os campos enviados mudam; o aplicativo do documento não muda. `nome` não pode ficar vazio (até 120 caracteres) e `tipo` é `TEXTO`, `TXT`, `MD` ou `PDF`. Mandar `conteudo` ou `arquivo_base64` troca o texto, com as mesmas regras do cadastro (o arquivo é lido pelo `tipo` enviado ou, sem ele, pelo tipo atual do documento) e o texto final não pode ficar vazio. O corpo aceita até 8 MiB.
|
|
342
|
+
*
|
|
343
|
+
* `PATCH /documento/{id}`
|
|
344
|
+
*/
|
|
345
|
+
export function atualizar_pelo_id_documento(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
346
|
+
return chamar_servico({
|
|
347
|
+
servico: SERVICO_DESTA_API,
|
|
348
|
+
metodo_http: "PATCH",
|
|
349
|
+
caminho_da_rota: `/documento/${codificar_parametro_de_caminho(id)}`,
|
|
350
|
+
credencial_de_acesso,
|
|
351
|
+
corpo_json: corpo_da_requisicao,
|
|
352
|
+
formato_da_resposta: "json",
|
|
353
|
+
}, opcoes_da_chamada);
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Exclui um documento pelo id
|
|
357
|
+
*
|
|
358
|
+
* Exige a permissão `deletar` na área `aplicativos`. A exclusão é lógica: o documento some das leituras, mas o registro não é apagado e não há como restaurá-lo.
|
|
359
|
+
*
|
|
360
|
+
* `DELETE /documento/{id}`
|
|
361
|
+
*/
|
|
362
|
+
export function deletar_pelo_id_documento(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
363
|
+
return chamar_servico({
|
|
364
|
+
servico: SERVICO_DESTA_API,
|
|
365
|
+
metodo_http: "DELETE",
|
|
366
|
+
caminho_da_rota: `/documento/${codificar_parametro_de_caminho(id)}`,
|
|
367
|
+
credencial_de_acesso,
|
|
368
|
+
formato_da_resposta: "sem_conteudo",
|
|
369
|
+
}, opcoes_da_chamada);
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Lista as etiquetas paginadas
|
|
373
|
+
*
|
|
374
|
+
* Exige a permissão de leitura na área `projetos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Lista em ordem alfabética, sempre 50 por página: `tamanho` é ignorado. `pagina` começa em 1.
|
|
375
|
+
*
|
|
376
|
+
* `GET /etiqueta`
|
|
377
|
+
*/
|
|
378
|
+
export function buscar_paginador_etiqueta(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
379
|
+
return chamar_servico({
|
|
380
|
+
servico: SERVICO_DESTA_API,
|
|
381
|
+
metodo_http: "GET",
|
|
382
|
+
caminho_da_rota: "/etiqueta",
|
|
383
|
+
credencial_de_acesso,
|
|
384
|
+
parametros_de_consulta: parametros,
|
|
385
|
+
formato_da_resposta: "json",
|
|
386
|
+
}, opcoes_da_chamada);
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Cadastra uma etiqueta
|
|
390
|
+
*
|
|
391
|
+
* Exige a permissão `criar` na área `projetos`. Cria uma etiqueta para marcar tarefas (Backend, Frontend, Dados...). `nome` é obrigatório (até 40 caracteres) e único sem diferenciar maiúsculas. `cor` segue o formato `#00397c` (padrão `#00397c`).
|
|
392
|
+
*
|
|
393
|
+
* `POST /etiqueta`
|
|
394
|
+
*/
|
|
395
|
+
export function criar_etiqueta(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
396
|
+
return chamar_servico({
|
|
397
|
+
servico: SERVICO_DESTA_API,
|
|
398
|
+
metodo_http: "POST",
|
|
399
|
+
caminho_da_rota: "/etiqueta",
|
|
400
|
+
credencial_de_acesso,
|
|
401
|
+
corpo_json: corpo_da_requisicao,
|
|
402
|
+
formato_da_resposta: "json",
|
|
403
|
+
}, opcoes_da_chamada);
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Lista básica de etiquetas para seleção
|
|
407
|
+
*
|
|
408
|
+
* Exige a permissão de leitura na área `projetos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Devolve id, nome e cor, em ordem alfabética. `busca` procura o trecho no nome. `pagina` começa em 1 e `tamanho` tem padrão 10.
|
|
409
|
+
*
|
|
410
|
+
* `GET /etiqueta/autocomplete`
|
|
411
|
+
*/
|
|
412
|
+
export function buscar_auto_complete_etiqueta(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
413
|
+
return chamar_servico({
|
|
414
|
+
servico: SERVICO_DESTA_API,
|
|
415
|
+
metodo_http: "GET",
|
|
416
|
+
caminho_da_rota: "/etiqueta/autocomplete",
|
|
417
|
+
credencial_de_acesso,
|
|
418
|
+
parametros_de_consulta: parametros,
|
|
419
|
+
formato_da_resposta: "json",
|
|
420
|
+
}, opcoes_da_chamada);
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Busca etiquetas por filtro
|
|
424
|
+
*
|
|
425
|
+
* Exige a permissão de leitura na área `projetos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Devolve todas as etiquetas não excluídas, em ordem alfabética. `nome` procura o trecho no nome, sem diferenciar maiúsculas.
|
|
426
|
+
*
|
|
427
|
+
* `GET /etiqueta/filtro`
|
|
428
|
+
*/
|
|
429
|
+
export function buscar_pelo_filtro_etiqueta(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
430
|
+
return chamar_servico({
|
|
431
|
+
servico: SERVICO_DESTA_API,
|
|
432
|
+
metodo_http: "GET",
|
|
433
|
+
caminho_da_rota: "/etiqueta/filtro",
|
|
434
|
+
credencial_de_acesso,
|
|
435
|
+
parametros_de_consulta: parametros,
|
|
436
|
+
formato_da_resposta: "json",
|
|
437
|
+
}, opcoes_da_chamada);
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Busca uma etiqueta pelo id
|
|
441
|
+
*
|
|
442
|
+
* Exige a permissão de leitura na área `projetos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Etiqueta excluída não é encontrada.
|
|
443
|
+
*
|
|
444
|
+
* `GET /etiqueta/{id}`
|
|
445
|
+
*/
|
|
446
|
+
export function buscar_pelo_id_etiqueta(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
447
|
+
return chamar_servico({
|
|
448
|
+
servico: SERVICO_DESTA_API,
|
|
449
|
+
metodo_http: "GET",
|
|
450
|
+
caminho_da_rota: `/etiqueta/${codificar_parametro_de_caminho(id)}`,
|
|
451
|
+
credencial_de_acesso,
|
|
452
|
+
formato_da_resposta: "json",
|
|
453
|
+
}, opcoes_da_chamada);
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Atualiza uma etiqueta pelo id
|
|
457
|
+
*
|
|
458
|
+
* Exige a permissão `editar` na área `projetos`. Atualização parcial de `nome` e `cor`, com as mesmas regras do cadastro.
|
|
459
|
+
*
|
|
460
|
+
* `PATCH /etiqueta/{id}`
|
|
461
|
+
*/
|
|
462
|
+
export function atualizar_pelo_id_etiqueta(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
463
|
+
return chamar_servico({
|
|
464
|
+
servico: SERVICO_DESTA_API,
|
|
465
|
+
metodo_http: "PATCH",
|
|
466
|
+
caminho_da_rota: `/etiqueta/${codificar_parametro_de_caminho(id)}`,
|
|
467
|
+
credencial_de_acesso,
|
|
468
|
+
corpo_json: corpo_da_requisicao,
|
|
469
|
+
formato_da_resposta: "json",
|
|
470
|
+
}, opcoes_da_chamada);
|
|
471
|
+
}
|
|
472
|
+
/**
|
|
473
|
+
* Exclui uma etiqueta pelo id
|
|
474
|
+
*
|
|
475
|
+
* Exige a permissão `deletar` na área `projetos`. Exclusão lógica: a etiqueta some das leituras e sai das tarefas que a usavam.
|
|
476
|
+
*
|
|
477
|
+
* `DELETE /etiqueta/{id}`
|
|
478
|
+
*/
|
|
479
|
+
export function deletar_pelo_id_etiqueta(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
480
|
+
return chamar_servico({
|
|
481
|
+
servico: SERVICO_DESTA_API,
|
|
482
|
+
metodo_http: "DELETE",
|
|
483
|
+
caminho_da_rota: `/etiqueta/${codificar_parametro_de_caminho(id)}`,
|
|
484
|
+
credencial_de_acesso,
|
|
485
|
+
formato_da_resposta: "sem_conteudo",
|
|
486
|
+
}, opcoes_da_chamada);
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* Atividade de uma tarefa ou ticket
|
|
490
|
+
*
|
|
491
|
+
* 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é 500 linhas de atividade, da mais nova para a mais antiga: criação, mudanças de campo, anexos. O histórico é gravado pelo próprio sistema e não tem cadastro, edição nem exclusão. Informe `tarefa_id` ou `ticket_id`.
|
|
492
|
+
*
|
|
493
|
+
* `GET /historico/filtro`
|
|
494
|
+
*/
|
|
495
|
+
export function buscar_pelo_filtro_historico(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
496
|
+
return chamar_servico({
|
|
497
|
+
servico: SERVICO_DESTA_API,
|
|
498
|
+
metodo_http: "GET",
|
|
499
|
+
caminho_da_rota: "/historico/filtro",
|
|
500
|
+
credencial_de_acesso,
|
|
501
|
+
parametros_de_consulta: parametros,
|
|
502
|
+
formato_da_resposta: "json",
|
|
503
|
+
}, opcoes_da_chamada);
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Caixa de entrada paginada
|
|
507
|
+
*
|
|
508
|
+
* Livre para qualquer usuário autenticado: vale sempre para o colaborador de quem está logado. Lista as notificações da pessoa, da mais nova para a mais antiga, sempre 50 por página: `tamanho` é ignorado. `lida` e `tipo` (`ATRIBUICAO`, `COMENTARIO`, `MENCAO`, `STATUS`, `PRAZO` ou `TICKET`; vazio é sem filtro) filtram; `nao_lidas` traz o total ainda não lido (o número do sino), com qualquer filtro.
|
|
509
|
+
*
|
|
510
|
+
* `GET /notificacao`
|
|
511
|
+
*/
|
|
512
|
+
export function buscar_paginador_notificacao(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
513
|
+
return chamar_servico({
|
|
514
|
+
servico: SERVICO_DESTA_API,
|
|
515
|
+
metodo_http: "GET",
|
|
516
|
+
caminho_da_rota: "/notificacao",
|
|
517
|
+
credencial_de_acesso,
|
|
518
|
+
parametros_de_consulta: parametros,
|
|
519
|
+
formato_da_resposta: "json",
|
|
520
|
+
}, opcoes_da_chamada);
|
|
521
|
+
}
|
|
522
|
+
/**
|
|
523
|
+
* Marca todas as notificações como lidas
|
|
524
|
+
*
|
|
525
|
+
* Livre para qualquer usuário autenticado: vale sempre para o colaborador de quem está logado. Marca de uma vez todas as notificações da pessoa como lidas (ou como não lidas, com `lida: false`). Devolve quantas mudaram em `alteradas`.
|
|
526
|
+
*
|
|
527
|
+
* `PATCH /notificacao`
|
|
528
|
+
*/
|
|
529
|
+
export function marcar_todas_notificacao(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
530
|
+
return chamar_servico({
|
|
531
|
+
servico: SERVICO_DESTA_API,
|
|
532
|
+
metodo_http: "PATCH",
|
|
533
|
+
caminho_da_rota: "/notificacao",
|
|
534
|
+
credencial_de_acesso,
|
|
535
|
+
corpo_json: corpo_da_requisicao,
|
|
536
|
+
formato_da_resposta: "json",
|
|
537
|
+
}, opcoes_da_chamada);
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* Busca notificações por filtro
|
|
541
|
+
*
|
|
542
|
+
* Livre para qualquer usuário autenticado: vale sempre para o colaborador de quem está logado. Devolve até 500 notificações da pessoa, da mais nova para a mais antiga. `lida` filtra lidas ou não lidas e `tipo` é `ATRIBUICAO`, `COMENTARIO`, `MENCAO`, `STATUS`, `PRAZO` ou `TICKET`.
|
|
543
|
+
*
|
|
544
|
+
* `GET /notificacao/filtro`
|
|
545
|
+
*/
|
|
546
|
+
export function buscar_pelo_filtro_notificacao(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
547
|
+
return chamar_servico({
|
|
548
|
+
servico: SERVICO_DESTA_API,
|
|
549
|
+
metodo_http: "GET",
|
|
550
|
+
caminho_da_rota: "/notificacao/filtro",
|
|
551
|
+
credencial_de_acesso,
|
|
552
|
+
parametros_de_consulta: parametros,
|
|
553
|
+
formato_da_resposta: "json",
|
|
554
|
+
}, opcoes_da_chamada);
|
|
555
|
+
}
|
|
556
|
+
/**
|
|
557
|
+
* Busca uma notificação pelo id
|
|
558
|
+
*
|
|
559
|
+
* Livre para qualquer usuário autenticado: vale sempre para o colaborador de quem está logado. Só encontra as notificações da própria pessoa.
|
|
560
|
+
*
|
|
561
|
+
* `GET /notificacao/{id}`
|
|
562
|
+
*/
|
|
563
|
+
export function buscar_pelo_id_notificacao(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
564
|
+
return chamar_servico({
|
|
565
|
+
servico: SERVICO_DESTA_API,
|
|
566
|
+
metodo_http: "GET",
|
|
567
|
+
caminho_da_rota: `/notificacao/${codificar_parametro_de_caminho(id)}`,
|
|
568
|
+
credencial_de_acesso,
|
|
569
|
+
formato_da_resposta: "json",
|
|
570
|
+
}, opcoes_da_chamada);
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* Marca uma notificação como lida ou não lida
|
|
574
|
+
*
|
|
575
|
+
* Livre para qualquer usuário autenticado: vale sempre para o colaborador de quem está logado. Muda `lida` de uma notificação da própria pessoa.
|
|
576
|
+
*
|
|
577
|
+
* `PATCH /notificacao/{id}`
|
|
578
|
+
*/
|
|
579
|
+
export function atualizar_pelo_id_notificacao(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
580
|
+
return chamar_servico({
|
|
581
|
+
servico: SERVICO_DESTA_API,
|
|
582
|
+
metodo_http: "PATCH",
|
|
583
|
+
caminho_da_rota: `/notificacao/${codificar_parametro_de_caminho(id)}`,
|
|
584
|
+
credencial_de_acesso,
|
|
585
|
+
corpo_json: corpo_da_requisicao,
|
|
586
|
+
formato_da_resposta: "json",
|
|
587
|
+
}, opcoes_da_chamada);
|
|
588
|
+
}
|
|
589
|
+
/**
|
|
590
|
+
* Exclui uma notificação pelo id
|
|
591
|
+
*
|
|
592
|
+
* Livre para qualquer usuário autenticado: vale sempre para o colaborador de quem está logado. Tira a notificação da caixa de entrada (exclusão lógica).
|
|
593
|
+
*
|
|
594
|
+
* `DELETE /notificacao/{id}`
|
|
595
|
+
*/
|
|
596
|
+
export function deletar_pelo_id_notificacao(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
597
|
+
return chamar_servico({
|
|
598
|
+
servico: SERVICO_DESTA_API,
|
|
599
|
+
metodo_http: "DELETE",
|
|
600
|
+
caminho_da_rota: `/notificacao/${codificar_parametro_de_caminho(id)}`,
|
|
601
|
+
credencial_de_acesso,
|
|
602
|
+
formato_da_resposta: "sem_conteudo",
|
|
603
|
+
}, opcoes_da_chamada);
|
|
604
|
+
}
|
|
605
|
+
/**
|
|
606
|
+
* Lista os projetos paginados
|
|
607
|
+
*
|
|
608
|
+
* Exige a permissão de leitura na área `projetos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Lista os projetos do mais recente atualizado para o mais antigo, sempre 50 por página: `tamanho` é ignorado. Aceita os mesmos filtros do `GET /projeto/filtro`. 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.
|
|
609
|
+
*
|
|
610
|
+
* `GET /projeto`
|
|
611
|
+
*/
|
|
612
|
+
export function buscar_paginador_projeto(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
12
613
|
return chamar_servico({
|
|
13
614
|
servico: SERVICO_DESTA_API,
|
|
14
615
|
metodo_http: "GET",
|
|
15
|
-
caminho_da_rota: "/
|
|
616
|
+
caminho_da_rota: "/projeto",
|
|
16
617
|
credencial_de_acesso,
|
|
17
618
|
parametros_de_consulta: parametros,
|
|
18
619
|
formato_da_resposta: "json",
|
|
19
620
|
}, opcoes_da_chamada);
|
|
20
621
|
}
|
|
21
622
|
/**
|
|
22
|
-
*
|
|
623
|
+
* Cadastra um projeto
|
|
23
624
|
*
|
|
24
|
-
*
|
|
625
|
+
* Exige a permissão `criar` na área `projetos`. `visibilidade` é `ORGANIZACAO` (padrão: todos com a área `projetos` veem) ou `MEMBROS` (só quem está vinculado ao projeto). Cria o projeto ligado aos aplicativos de `aplicativo_ids`, com os membros de `membro_ids` (o dono e quem criou entram sempre como membros). `nome` é obrigatório (até 120 caracteres); `descricao` vai até 5000; `cor` no formato `#00397c`; `status` é `NO_PRAZO` (padrão), `EM_RISCO`, `ATRASADO`, `PAUSADO` ou `CONCLUIDO`; `dono_id` tem padrão em quem criou; `inicio` não pode passar do `prazo`. `secoes` são os nomes das colunas do quadro, na ordem (padrão "A fazer", "Em andamento" e "Concluído").
|
|
25
626
|
*
|
|
26
|
-
* `POST /
|
|
627
|
+
* `POST /projeto`
|
|
27
628
|
*/
|
|
28
|
-
export function
|
|
629
|
+
export function criar_projeto(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
29
630
|
return chamar_servico({
|
|
30
631
|
servico: SERVICO_DESTA_API,
|
|
31
632
|
metodo_http: "POST",
|
|
32
|
-
caminho_da_rota: "/
|
|
633
|
+
caminho_da_rota: "/projeto",
|
|
33
634
|
credencial_de_acesso,
|
|
34
635
|
corpo_json: corpo_da_requisicao,
|
|
35
636
|
formato_da_resposta: "json",
|
|
36
637
|
}, opcoes_da_chamada);
|
|
37
638
|
}
|
|
38
639
|
/**
|
|
39
|
-
* Lista básica de
|
|
640
|
+
* Lista básica de projetos para seleção
|
|
40
641
|
*
|
|
41
|
-
*
|
|
642
|
+
* Exige a permissão de leitura na área `projetos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Devolve id, nome e cor dos projetos não arquivados, em ordem alfabética. `busca` procura no nome e `aplicativo_id` limita aos projetos do aplicativo. `pagina` começa em 1 e `tamanho` tem padrão 10. 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.
|
|
42
643
|
*
|
|
43
|
-
* `GET /
|
|
644
|
+
* `GET /projeto/autocomplete`
|
|
44
645
|
*/
|
|
45
|
-
export function
|
|
646
|
+
export function buscar_auto_complete_projeto(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
46
647
|
return chamar_servico({
|
|
47
648
|
servico: SERVICO_DESTA_API,
|
|
48
649
|
metodo_http: "GET",
|
|
49
|
-
caminho_da_rota: "/
|
|
650
|
+
caminho_da_rota: "/projeto/autocomplete",
|
|
50
651
|
credencial_de_acesso,
|
|
51
652
|
parametros_de_consulta: parametros,
|
|
52
653
|
formato_da_resposta: "json",
|
|
53
654
|
}, opcoes_da_chamada);
|
|
54
655
|
}
|
|
55
656
|
/**
|
|
56
|
-
* Busca
|
|
657
|
+
* Busca projetos por filtro
|
|
57
658
|
*
|
|
58
|
-
*
|
|
659
|
+
* Exige a permissão de leitura na área `projetos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Devolve até 500 projetos em ordem alfabética. `busca` procura no nome e na descrição; `status` é exato; `aplicativo_id` traz os projetos ligados ao aplicativo; `membro_id` os projetos em que o colaborador é dono ou membro; `arquivado` tem padrão `false`. 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.
|
|
59
660
|
*
|
|
60
|
-
* `GET /
|
|
661
|
+
* `GET /projeto/filtro`
|
|
61
662
|
*/
|
|
62
|
-
export function
|
|
663
|
+
export function buscar_pelo_filtro_projeto(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
63
664
|
return chamar_servico({
|
|
64
665
|
servico: SERVICO_DESTA_API,
|
|
65
666
|
metodo_http: "GET",
|
|
66
|
-
caminho_da_rota: "/
|
|
667
|
+
caminho_da_rota: "/projeto/filtro",
|
|
67
668
|
credencial_de_acesso,
|
|
68
669
|
parametros_de_consulta: parametros,
|
|
69
670
|
formato_da_resposta: "json",
|
|
70
671
|
}, opcoes_da_chamada);
|
|
71
672
|
}
|
|
72
673
|
/**
|
|
73
|
-
*
|
|
674
|
+
* Busca um projeto pelo id
|
|
74
675
|
*
|
|
75
|
-
*
|
|
676
|
+
* Exige a permissão de leitura na área `projetos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Devolve o projeto com dono, aplicativos, membros e a contagem das tarefas principais (total, concluídas e atrasadas). 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.
|
|
76
677
|
*
|
|
77
|
-
* `GET /
|
|
678
|
+
* `GET /projeto/{id}`
|
|
78
679
|
*/
|
|
79
|
-
export function
|
|
680
|
+
export function buscar_pelo_id_projeto(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
80
681
|
return chamar_servico({
|
|
81
682
|
servico: SERVICO_DESTA_API,
|
|
82
683
|
metodo_http: "GET",
|
|
83
|
-
caminho_da_rota: `/
|
|
684
|
+
caminho_da_rota: `/projeto/${codificar_parametro_de_caminho(id)}`,
|
|
685
|
+
credencial_de_acesso,
|
|
686
|
+
formato_da_resposta: "json",
|
|
687
|
+
}, opcoes_da_chamada);
|
|
688
|
+
}
|
|
689
|
+
/**
|
|
690
|
+
* Atualiza um projeto pelo id
|
|
691
|
+
*
|
|
692
|
+
* Exige a permissão `editar` na área `projetos`. Atualização parcial com as regras do cadastro (inclusive `visibilidade`: `ORGANIZACAO` ou `MEMBROS`). Texto vazio em `descricao` apaga; `null` em `dono_id`, `inicio` ou `prazo` apaga o valor. `aplicativo_ids` e `membro_ids`, quando enviados, substituem a lista inteira (o dono continua membro). `arquivado` tira o projeto das listas. 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.
|
|
693
|
+
*
|
|
694
|
+
* `PATCH /projeto/{id}`
|
|
695
|
+
*/
|
|
696
|
+
export function atualizar_pelo_id_projeto(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
697
|
+
return chamar_servico({
|
|
698
|
+
servico: SERVICO_DESTA_API,
|
|
699
|
+
metodo_http: "PATCH",
|
|
700
|
+
caminho_da_rota: `/projeto/${codificar_parametro_de_caminho(id)}`,
|
|
701
|
+
credencial_de_acesso,
|
|
702
|
+
corpo_json: corpo_da_requisicao,
|
|
703
|
+
formato_da_resposta: "json",
|
|
704
|
+
}, opcoes_da_chamada);
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* Exclui um projeto pelo id
|
|
708
|
+
*
|
|
709
|
+
* Exige a permissão `deletar` na área `projetos`. Exclusão lógica do projeto, das colunas e das tarefas dele. 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.
|
|
710
|
+
*
|
|
711
|
+
* `DELETE /projeto/{id}`
|
|
712
|
+
*/
|
|
713
|
+
export function deletar_pelo_id_projeto(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
714
|
+
return chamar_servico({
|
|
715
|
+
servico: SERVICO_DESTA_API,
|
|
716
|
+
metodo_http: "DELETE",
|
|
717
|
+
caminho_da_rota: `/projeto/${codificar_parametro_de_caminho(id)}`,
|
|
718
|
+
credencial_de_acesso,
|
|
84
719
|
formato_da_resposta: "sem_conteudo",
|
|
85
720
|
}, opcoes_da_chamada);
|
|
86
721
|
}
|
|
87
722
|
/**
|
|
88
|
-
*
|
|
723
|
+
* Abre um ticket pelo aplicativo atendido
|
|
724
|
+
*
|
|
725
|
+
* Rota pública, sem o token do TermoAuth: o backend do aplicativo se identifica pela chave pública dele (`pk_live_...`, a mesma do cadastro do aplicativo) no cabeçalho `X-Chave-Publica`. Só aplicativo ativo abre ticket. `titulo` (até 200), `descricao` (até 20000) e `solicitante_nome` (até 120) são obrigatórios; `solicitante_email`, `origem_url` (a tela onde o problema aconteceu), `tipo` e `prioridade` seguem as regras do `POST /ticket`. O ticket entra na fila com o canal `APLICATIVO`, o status `NOVO` e o prazo do SLA. Chamada de servidor para servidor: o navegador recebe erro de CORS.
|
|
726
|
+
*
|
|
727
|
+
* `POST /publico/ticket`
|
|
728
|
+
*/
|
|
729
|
+
export function criar_pelo_aplicativo_ticket(parametros, corpo_da_requisicao, opcoes_da_chamada) {
|
|
730
|
+
return chamar_servico({
|
|
731
|
+
servico: SERVICO_DESTA_API,
|
|
732
|
+
metodo_http: "POST",
|
|
733
|
+
caminho_da_rota: "/publico/ticket",
|
|
734
|
+
cabecalhos: { "X-Chave-Publica": parametros["X-Chave-Publica"] },
|
|
735
|
+
corpo_json: corpo_da_requisicao,
|
|
736
|
+
formato_da_resposta: "json",
|
|
737
|
+
}, opcoes_da_chamada);
|
|
738
|
+
}
|
|
739
|
+
/**
|
|
740
|
+
* Lista as seções paginadas
|
|
741
|
+
*
|
|
742
|
+
* Exige a permissão de leitura na área `projetos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Lista na ordem do quadro, sempre 50 por página: `tamanho` é ignorado. `projeto_id` limita a um projeto.
|
|
743
|
+
*
|
|
744
|
+
* `GET /secao`
|
|
745
|
+
*/
|
|
746
|
+
export function buscar_paginador_secao(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
747
|
+
return chamar_servico({
|
|
748
|
+
servico: SERVICO_DESTA_API,
|
|
749
|
+
metodo_http: "GET",
|
|
750
|
+
caminho_da_rota: "/secao",
|
|
751
|
+
credencial_de_acesso,
|
|
752
|
+
parametros_de_consulta: parametros,
|
|
753
|
+
formato_da_resposta: "json",
|
|
754
|
+
}, opcoes_da_chamada);
|
|
755
|
+
}
|
|
756
|
+
/**
|
|
757
|
+
* Cadastra uma seção (coluna do quadro)
|
|
758
|
+
*
|
|
759
|
+
* Exige a permissão `criar` na área `projetos`. Cria a coluna no projeto. `nome` é obrigatório (até 80 caracteres). Sem `ordem`, entra no fim do quadro.
|
|
760
|
+
*
|
|
761
|
+
* `POST /secao`
|
|
762
|
+
*/
|
|
763
|
+
export function criar_secao(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
764
|
+
return chamar_servico({
|
|
765
|
+
servico: SERVICO_DESTA_API,
|
|
766
|
+
metodo_http: "POST",
|
|
767
|
+
caminho_da_rota: "/secao",
|
|
768
|
+
credencial_de_acesso,
|
|
769
|
+
corpo_json: corpo_da_requisicao,
|
|
770
|
+
formato_da_resposta: "json",
|
|
771
|
+
}, opcoes_da_chamada);
|
|
772
|
+
}
|
|
773
|
+
/**
|
|
774
|
+
* Lista básica de seções para seleção
|
|
775
|
+
*
|
|
776
|
+
* Exige a permissão de leitura na área `projetos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Devolve id e nome em ordem alfabética. `projeto_id` limita a um projeto e `busca` procura no nome.
|
|
777
|
+
*
|
|
778
|
+
* `GET /secao/autocomplete`
|
|
779
|
+
*/
|
|
780
|
+
export function buscar_auto_complete_secao(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
781
|
+
return chamar_servico({
|
|
782
|
+
servico: SERVICO_DESTA_API,
|
|
783
|
+
metodo_http: "GET",
|
|
784
|
+
caminho_da_rota: "/secao/autocomplete",
|
|
785
|
+
credencial_de_acesso,
|
|
786
|
+
parametros_de_consulta: parametros,
|
|
787
|
+
formato_da_resposta: "json",
|
|
788
|
+
}, opcoes_da_chamada);
|
|
789
|
+
}
|
|
790
|
+
/**
|
|
791
|
+
* Busca seções por filtro
|
|
792
|
+
*
|
|
793
|
+
* Exige a permissão de leitura na área `projetos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Devolve as colunas na ordem do quadro. `projeto_id` limita a um projeto e `nome` procura o trecho no nome.
|
|
794
|
+
*
|
|
795
|
+
* `GET /secao/filtro`
|
|
796
|
+
*/
|
|
797
|
+
export function buscar_pelo_filtro_secao(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
798
|
+
return chamar_servico({
|
|
799
|
+
servico: SERVICO_DESTA_API,
|
|
800
|
+
metodo_http: "GET",
|
|
801
|
+
caminho_da_rota: "/secao/filtro",
|
|
802
|
+
credencial_de_acesso,
|
|
803
|
+
parametros_de_consulta: parametros,
|
|
804
|
+
formato_da_resposta: "json",
|
|
805
|
+
}, opcoes_da_chamada);
|
|
806
|
+
}
|
|
807
|
+
/**
|
|
808
|
+
* Busca uma seção pelo id
|
|
89
809
|
*
|
|
90
|
-
*
|
|
810
|
+
* Exige a permissão de leitura na área `projetos` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Seção excluída não é encontrada.
|
|
91
811
|
*
|
|
92
|
-
* `GET /
|
|
812
|
+
* `GET /secao/{id}`
|
|
93
813
|
*/
|
|
94
|
-
export function
|
|
814
|
+
export function buscar_pelo_id_secao(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
95
815
|
return chamar_servico({
|
|
96
816
|
servico: SERVICO_DESTA_API,
|
|
97
817
|
metodo_http: "GET",
|
|
98
|
-
caminho_da_rota: `/
|
|
818
|
+
caminho_da_rota: `/secao/${codificar_parametro_de_caminho(id)}`,
|
|
99
819
|
credencial_de_acesso,
|
|
100
820
|
formato_da_resposta: "json",
|
|
101
821
|
}, opcoes_da_chamada);
|
|
102
822
|
}
|
|
103
823
|
/**
|
|
104
|
-
* Atualiza
|
|
824
|
+
* Atualiza uma seção pelo id
|
|
105
825
|
*
|
|
106
|
-
*
|
|
826
|
+
* Exige a permissão `editar` na área `projetos`. Renomeia (`nome`) ou reposiciona (`ordem`, decimal: para pôr entre duas colunas use a média das ordens delas). `conclui_tarefa: true` faz dela a coluna que conclui do projeto (uma só): desliga a anterior, conclui as tarefas principais abertas dela e traz para o fim dela as concluídas das outras colunas, com a linha na atividade de cada tarefa; `false` só desliga, sem mexer em tarefa.
|
|
107
827
|
*
|
|
108
|
-
* `PATCH /
|
|
828
|
+
* `PATCH /secao/{id}`
|
|
109
829
|
*/
|
|
110
|
-
export function
|
|
830
|
+
export function atualizar_pelo_id_secao(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
111
831
|
return chamar_servico({
|
|
112
832
|
servico: SERVICO_DESTA_API,
|
|
113
833
|
metodo_http: "PATCH",
|
|
114
|
-
caminho_da_rota: `/
|
|
834
|
+
caminho_da_rota: `/secao/${codificar_parametro_de_caminho(id)}`,
|
|
115
835
|
credencial_de_acesso,
|
|
116
836
|
corpo_json: corpo_da_requisicao,
|
|
117
837
|
formato_da_resposta: "json",
|
|
118
838
|
}, opcoes_da_chamada);
|
|
119
839
|
}
|
|
120
840
|
/**
|
|
121
|
-
* Exclui
|
|
841
|
+
* Exclui uma seção pelo id
|
|
122
842
|
*
|
|
123
|
-
*
|
|
843
|
+
* Exige a permissão `deletar` na área `projetos`. Exclusão lógica: as tarefas da coluna vão para a primeira coluna que sobrar no projeto (a que conclui só se não sobrar outra, e aí as abertas são concluídas). A coluna que conclui não sai: desligue a opção antes.
|
|
124
844
|
*
|
|
125
|
-
* `DELETE /
|
|
845
|
+
* `DELETE /secao/{id}`
|
|
126
846
|
*/
|
|
127
|
-
export function
|
|
847
|
+
export function deletar_pelo_id_secao(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
128
848
|
return chamar_servico({
|
|
129
849
|
servico: SERVICO_DESTA_API,
|
|
130
850
|
metodo_http: "DELETE",
|
|
131
|
-
caminho_da_rota: `/
|
|
851
|
+
caminho_da_rota: `/secao/${codificar_parametro_de_caminho(id)}`,
|
|
132
852
|
credencial_de_acesso,
|
|
133
853
|
formato_da_resposta: "sem_conteudo",
|
|
134
854
|
}, opcoes_da_chamada);
|
|
135
855
|
}
|
|
136
856
|
/**
|
|
137
|
-
*
|
|
857
|
+
* Lista as tarefas paginadas
|
|
858
|
+
*
|
|
859
|
+
* 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.
|
|
860
|
+
*
|
|
861
|
+
* `GET /tarefa`
|
|
862
|
+
*/
|
|
863
|
+
export function buscar_paginador_tarefa(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
864
|
+
return chamar_servico({
|
|
865
|
+
servico: SERVICO_DESTA_API,
|
|
866
|
+
metodo_http: "GET",
|
|
867
|
+
caminho_da_rota: "/tarefa",
|
|
868
|
+
credencial_de_acesso,
|
|
869
|
+
parametros_de_consulta: parametros,
|
|
870
|
+
formato_da_resposta: "json",
|
|
871
|
+
}, opcoes_da_chamada);
|
|
872
|
+
}
|
|
873
|
+
/**
|
|
874
|
+
* Cadastra uma tarefa
|
|
138
875
|
*
|
|
139
|
-
* Cria
|
|
876
|
+
* Exige a permissão `criar` na área `projetos`. Cria a tarefa no projeto. Sem `secao_id`, entra na primeira coluna que não conclui tarefas (na que conclui, já nasce concluída); 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` e `prazo` são obrigatórios (título até 300 caracteres); sem `inicio`, ele é hoje (São Paulo) e não pode passar do `prazo`; sem `responsavel_id`, quem criou vira o responsável. `descricao` até 20000; `prioridade` é `BAIXA`, `MEDIA`, `ALTA` ou `URGENTE`; `estimativa` de 0 a 10000 pontos. 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.
|
|
140
877
|
*
|
|
141
|
-
* `POST /
|
|
878
|
+
* `POST /tarefa`
|
|
142
879
|
*/
|
|
143
|
-
export function
|
|
880
|
+
export function criar_tarefa(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
144
881
|
return chamar_servico({
|
|
145
882
|
servico: SERVICO_DESTA_API,
|
|
146
883
|
metodo_http: "POST",
|
|
147
|
-
caminho_da_rota:
|
|
884
|
+
caminho_da_rota: "/tarefa",
|
|
885
|
+
credencial_de_acesso,
|
|
886
|
+
corpo_json: corpo_da_requisicao,
|
|
887
|
+
formato_da_resposta: "json",
|
|
888
|
+
}, opcoes_da_chamada);
|
|
889
|
+
}
|
|
890
|
+
/**
|
|
891
|
+
* Lista básica de tarefas para seleção
|
|
892
|
+
*
|
|
893
|
+
* 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.
|
|
894
|
+
*
|
|
895
|
+
* `GET /tarefa/autocomplete`
|
|
896
|
+
*/
|
|
897
|
+
export function buscar_auto_complete_tarefa(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
898
|
+
return chamar_servico({
|
|
899
|
+
servico: SERVICO_DESTA_API,
|
|
900
|
+
metodo_http: "GET",
|
|
901
|
+
caminho_da_rota: "/tarefa/autocomplete",
|
|
902
|
+
credencial_de_acesso,
|
|
903
|
+
parametros_de_consulta: parametros,
|
|
904
|
+
formato_da_resposta: "json",
|
|
905
|
+
}, opcoes_da_chamada);
|
|
906
|
+
}
|
|
907
|
+
/**
|
|
908
|
+
* Busca tarefas por filtro
|
|
909
|
+
*
|
|
910
|
+
* 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.
|
|
911
|
+
*
|
|
912
|
+
* `GET /tarefa/filtro`
|
|
913
|
+
*/
|
|
914
|
+
export function buscar_pelo_filtro_tarefa(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
915
|
+
return chamar_servico({
|
|
916
|
+
servico: SERVICO_DESTA_API,
|
|
917
|
+
metodo_http: "GET",
|
|
918
|
+
caminho_da_rota: "/tarefa/filtro",
|
|
919
|
+
credencial_de_acesso,
|
|
920
|
+
parametros_de_consulta: parametros,
|
|
921
|
+
formato_da_resposta: "json",
|
|
922
|
+
}, opcoes_da_chamada);
|
|
923
|
+
}
|
|
924
|
+
/**
|
|
925
|
+
* Busca uma tarefa pelo id
|
|
926
|
+
*
|
|
927
|
+
* 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.
|
|
928
|
+
*
|
|
929
|
+
* `GET /tarefa/{id}`
|
|
930
|
+
*/
|
|
931
|
+
export function buscar_pelo_id_tarefa(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
932
|
+
return chamar_servico({
|
|
933
|
+
servico: SERVICO_DESTA_API,
|
|
934
|
+
metodo_http: "GET",
|
|
935
|
+
caminho_da_rota: `/tarefa/${codificar_parametro_de_caminho(id)}`,
|
|
936
|
+
credencial_de_acesso,
|
|
937
|
+
formato_da_resposta: "json",
|
|
938
|
+
}, opcoes_da_chamada);
|
|
939
|
+
}
|
|
940
|
+
/**
|
|
941
|
+
* Atualiza uma tarefa pelo id
|
|
942
|
+
*
|
|
943
|
+
* 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`. Na tarefa principal, a coluna que conclui manda: entrar nela conclui e sair reabre (vence um `concluida` contraditório); marcar `concluida` fora dela leva a tarefa para o fim dela; desmarcar dentro dela devolve a tarefa para o fim da coluna anterior. `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.
|
|
944
|
+
*
|
|
945
|
+
* `PATCH /tarefa/{id}`
|
|
946
|
+
*/
|
|
947
|
+
export function atualizar_pelo_id_tarefa(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
948
|
+
return chamar_servico({
|
|
949
|
+
servico: SERVICO_DESTA_API,
|
|
950
|
+
metodo_http: "PATCH",
|
|
951
|
+
caminho_da_rota: `/tarefa/${codificar_parametro_de_caminho(id)}`,
|
|
952
|
+
credencial_de_acesso,
|
|
953
|
+
corpo_json: corpo_da_requisicao,
|
|
954
|
+
formato_da_resposta: "json",
|
|
955
|
+
}, opcoes_da_chamada);
|
|
956
|
+
}
|
|
957
|
+
/**
|
|
958
|
+
* Exclui uma tarefa pelo id
|
|
959
|
+
*
|
|
960
|
+
* 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.
|
|
961
|
+
*
|
|
962
|
+
* `DELETE /tarefa/{id}`
|
|
963
|
+
*/
|
|
964
|
+
export function deletar_pelo_id_tarefa(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
965
|
+
return chamar_servico({
|
|
966
|
+
servico: SERVICO_DESTA_API,
|
|
967
|
+
metodo_http: "DELETE",
|
|
968
|
+
caminho_da_rota: `/tarefa/${codificar_parametro_de_caminho(id)}`,
|
|
969
|
+
credencial_de_acesso,
|
|
970
|
+
formato_da_resposta: "sem_conteudo",
|
|
971
|
+
}, opcoes_da_chamada);
|
|
972
|
+
}
|
|
973
|
+
/**
|
|
974
|
+
* Fila de tickets paginada
|
|
975
|
+
*
|
|
976
|
+
* Exige a permissão de leitura na área `tickets` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). A fila de atendimento: abertos primeiro, do mais urgente e com prazo mais próximo para o menos urgente; depois os resolvidos e fechados. Sempre 50 por página: `tamanho` é ignorado. Aceita os mesmos filtros do `GET /ticket/filtro`.
|
|
977
|
+
*
|
|
978
|
+
* `GET /ticket`
|
|
979
|
+
*/
|
|
980
|
+
export function buscar_paginador_ticket(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
981
|
+
return chamar_servico({
|
|
982
|
+
servico: SERVICO_DESTA_API,
|
|
983
|
+
metodo_http: "GET",
|
|
984
|
+
caminho_da_rota: "/ticket",
|
|
148
985
|
credencial_de_acesso,
|
|
986
|
+
parametros_de_consulta: parametros,
|
|
149
987
|
formato_da_resposta: "json",
|
|
150
988
|
}, opcoes_da_chamada);
|
|
151
989
|
}
|
|
152
990
|
/**
|
|
153
|
-
*
|
|
991
|
+
* Abre um ticket de suporte
|
|
154
992
|
*
|
|
155
|
-
*
|
|
993
|
+
* Exige a permissão `criar` na área `tickets`. Abre o ticket para um aplicativo. `titulo` (até 200) e `descricao` (até 20000) são obrigatórios. `tipo` é `BUG`, `DUVIDA` (padrão), `MELHORIA`, `ACESSO` ou `OUTRO`; `prioridade` é `BAIXA`, `MEDIA` (padrão), `ALTA` ou `URGENTE`; `canal` é `PAINEL` (padrão), `APLICATIVO`, `EMAIL`, `WHATSAPP` ou `TELEFONE`. O solicitante é o colaborador de `solicitante_id`, ou alguém de fora por `solicitante_nome` e `solicitante_email`; sem nenhum, é quem abriu. Sem `prazo`, vale o SLA da prioridade (urgente 4 h, alta 24 h, média 72 h, baixa 7 dias). Com `responsavel_id` o ticket já nasce em atendimento e o responsável é notificado.
|
|
156
994
|
*
|
|
157
|
-
* `POST /
|
|
995
|
+
* `POST /ticket`
|
|
158
996
|
*/
|
|
159
|
-
export function
|
|
997
|
+
export function criar_ticket(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
160
998
|
return chamar_servico({
|
|
161
999
|
servico: SERVICO_DESTA_API,
|
|
162
1000
|
metodo_http: "POST",
|
|
163
|
-
caminho_da_rota:
|
|
1001
|
+
caminho_da_rota: "/ticket",
|
|
1002
|
+
credencial_de_acesso,
|
|
1003
|
+
corpo_json: corpo_da_requisicao,
|
|
1004
|
+
formato_da_resposta: "json",
|
|
1005
|
+
}, opcoes_da_chamada);
|
|
1006
|
+
}
|
|
1007
|
+
/**
|
|
1008
|
+
* Lista básica de tickets para seleção
|
|
1009
|
+
*
|
|
1010
|
+
* Exige a permissão de leitura na área `tickets` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Devolve id, número e título, do número maior para o menor. `busca` procura no título ou pelo número; `aplicativo_id` limita a um aplicativo.
|
|
1011
|
+
*
|
|
1012
|
+
* `GET /ticket/autocomplete`
|
|
1013
|
+
*/
|
|
1014
|
+
export function buscar_auto_complete_ticket(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
1015
|
+
return chamar_servico({
|
|
1016
|
+
servico: SERVICO_DESTA_API,
|
|
1017
|
+
metodo_http: "GET",
|
|
1018
|
+
caminho_da_rota: "/ticket/autocomplete",
|
|
1019
|
+
credencial_de_acesso,
|
|
1020
|
+
parametros_de_consulta: parametros,
|
|
1021
|
+
formato_da_resposta: "json",
|
|
1022
|
+
}, opcoes_da_chamada);
|
|
1023
|
+
}
|
|
1024
|
+
/**
|
|
1025
|
+
* Busca tickets por filtro
|
|
1026
|
+
*
|
|
1027
|
+
* Exige a permissão de leitura na área `tickets` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Devolve até 2000 tickets do mais novo para o mais antigo. Os filtros se somam: `aplicativo_id`, `status`, `abertos` (sem os resolvidos e fechados; `false` só eles), `responsavel_id`, `sem_responsavel`, `solicitante_id`, `prioridade`, `tipo`, `atrasados` e `busca` (título, descrição, solicitante ou número, com ou sem #).
|
|
1028
|
+
*
|
|
1029
|
+
* `GET /ticket/filtro`
|
|
1030
|
+
*/
|
|
1031
|
+
export function buscar_pelo_filtro_ticket(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
1032
|
+
return chamar_servico({
|
|
1033
|
+
servico: SERVICO_DESTA_API,
|
|
1034
|
+
metodo_http: "GET",
|
|
1035
|
+
caminho_da_rota: "/ticket/filtro",
|
|
1036
|
+
credencial_de_acesso,
|
|
1037
|
+
parametros_de_consulta: parametros,
|
|
1038
|
+
formato_da_resposta: "json",
|
|
1039
|
+
}, opcoes_da_chamada);
|
|
1040
|
+
}
|
|
1041
|
+
/**
|
|
1042
|
+
* Busca um ticket pelo id
|
|
1043
|
+
*
|
|
1044
|
+
* Exige a permissão de leitura na área `tickets` (qualquer das ações `ler`, `criar`, `editar` ou `deletar` libera a leitura). Devolve o ticket com aplicativo, solicitante, responsável, prazo (e se está atrasado), as tarefas de projeto criadas a partir dele e as contagens de comentários e anexos.
|
|
1045
|
+
*
|
|
1046
|
+
* `GET /ticket/{id}`
|
|
1047
|
+
*/
|
|
1048
|
+
export function buscar_pelo_id_ticket(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
1049
|
+
return chamar_servico({
|
|
1050
|
+
servico: SERVICO_DESTA_API,
|
|
1051
|
+
metodo_http: "GET",
|
|
1052
|
+
caminho_da_rota: `/ticket/${codificar_parametro_de_caminho(id)}`,
|
|
1053
|
+
credencial_de_acesso,
|
|
1054
|
+
formato_da_resposta: "json",
|
|
1055
|
+
}, opcoes_da_chamada);
|
|
1056
|
+
}
|
|
1057
|
+
/**
|
|
1058
|
+
* Atualiza um ticket pelo id
|
|
1059
|
+
*
|
|
1060
|
+
* Exige a permissão `editar` na área `tickets`. Atualização parcial com as regras da abertura, mais `status` (`NOVO`, `EM_ATENDIMENTO`, `AGUARDANDO`, `RESOLVIDO`, `FECHADO`). Resolver ou fechar grava a data; reabrir apaga. Sair de `NOVO` conta como primeira resposta. Trocar a `prioridade` sem mandar `prazo` refaz o prazo pelo SLA a partir da abertura. `null` em `responsavel_id`, `prazo` ou `solicitante_email` apaga o valor. Cada mudança entra na atividade; o novo responsável e o solicitante (na troca de status) são notificados.
|
|
1061
|
+
*
|
|
1062
|
+
* `PATCH /ticket/{id}`
|
|
1063
|
+
*/
|
|
1064
|
+
export function atualizar_pelo_id_ticket(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
1065
|
+
return chamar_servico({
|
|
1066
|
+
servico: SERVICO_DESTA_API,
|
|
1067
|
+
metodo_http: "PATCH",
|
|
1068
|
+
caminho_da_rota: `/ticket/${codificar_parametro_de_caminho(id)}`,
|
|
164
1069
|
credencial_de_acesso,
|
|
165
1070
|
corpo_json: corpo_da_requisicao,
|
|
166
1071
|
formato_da_resposta: "json",
|
|
167
1072
|
}, opcoes_da_chamada);
|
|
168
1073
|
}
|
|
1074
|
+
/**
|
|
1075
|
+
* Exclui um ticket pelo id
|
|
1076
|
+
*
|
|
1077
|
+
* Exige a permissão `deletar` na área `tickets`. Exclusão lógica. As tarefas criadas a partir do ticket continuam nos projetos.
|
|
1078
|
+
*
|
|
1079
|
+
* `DELETE /ticket/{id}`
|
|
1080
|
+
*/
|
|
1081
|
+
export function deletar_pelo_id_ticket(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
1082
|
+
return chamar_servico({
|
|
1083
|
+
servico: SERVICO_DESTA_API,
|
|
1084
|
+
metodo_http: "DELETE",
|
|
1085
|
+
caminho_da_rota: `/ticket/${codificar_parametro_de_caminho(id)}`,
|
|
1086
|
+
credencial_de_acesso,
|
|
1087
|
+
formato_da_resposta: "sem_conteudo",
|
|
1088
|
+
}, opcoes_da_chamada);
|
|
1089
|
+
}
|