termo_core 0.1.12 → 0.1.14
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/agenda/index.d.ts +6 -0
- package/dist/agenda/index.js +7 -0
- package/dist/agenda/rotas.d.ts +281 -0
- package/dist/agenda/rotas.js +387 -0
- package/dist/agenda/tipos.d.ts +316 -0
- package/dist/agenda/tipos.js +2 -0
- package/dist/auth/rotas.d.ts +7 -1
- package/dist/auth/rotas.js +1 -1
- package/dist/base/servicos.d.ts +3 -0
- package/dist/base/servicos.js +27 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/meet/index.d.ts +6 -0
- package/dist/meet/index.js +7 -0
- package/dist/meet/rotas.d.ts +119 -0
- package/dist/meet/rotas.js +152 -0
- package/dist/meet/tipos.d.ts +122 -0
- package/dist/meet/tipos.js +2 -0
- package/dist/portal/rotas.d.ts +72 -0
- package/dist/portal/rotas.js +84 -0
- package/dist/portal/tipos.d.ts +73 -0
- package/dist/talk/index.d.ts +6 -0
- package/dist/talk/index.js +7 -0
- package/dist/talk/rotas.d.ts +219 -0
- package/dist/talk/rotas.js +353 -0
- package/dist/talk/tipos.d.ts +239 -0
- package/dist/talk/tipos.js +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
// Gerado pelo gerador do TermoCore (`cargo run -p gerador`). Não edite à mão: a próxima geração sobrescreve.
|
|
2
|
+
import { chamar_servico, codificar_parametro_de_caminho } from "../base/requisicao.js";
|
|
3
|
+
import { TERMO_TALK as SERVICO_DESTA_API } from "../base/servicos.js";
|
|
4
|
+
/**
|
|
5
|
+
* Busca o link para baixar um anexo
|
|
6
|
+
*
|
|
7
|
+
* Devolve o anexo com `url_download`, o link assinado do TermoBucket, que vale 15 minutos. Só para quem participa da conversa do anexo (senão `404`).
|
|
8
|
+
*
|
|
9
|
+
* `GET /anexo/{id}`
|
|
10
|
+
*/
|
|
11
|
+
export function buscar_pelo_id_anexo(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
12
|
+
return chamar_servico({
|
|
13
|
+
servico: SERVICO_DESTA_API,
|
|
14
|
+
metodo_http: "GET",
|
|
15
|
+
caminho_da_rota: `/anexo/${codificar_parametro_de_caminho(id)}`,
|
|
16
|
+
credencial_de_acesso,
|
|
17
|
+
formato_da_resposta: "json",
|
|
18
|
+
}, opcoes_da_chamada);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Lista as conversas de quem pediu
|
|
22
|
+
*
|
|
23
|
+
* Todas as conversas (diretas, grupos e espaços) de que a pessoa participa: as fixadas primeiro e depois pela última atividade. Cada uma traz a prévia da última mensagem, o estado da pessoa (`eu`), as não lidas (`nao_lidas`, mensagens principais de outras pessoas depois da última lida, até 100) e as menções (`mencoes`). Na direta e no grupo vêm os participantes; no espaço, só o total. `busca` procura no nome da conversa e no nome dos participantes; `tipo` filtra por `DIRETA`, `GRUPO` ou `ESPACO`.
|
|
24
|
+
*
|
|
25
|
+
* `GET /conversa`
|
|
26
|
+
*/
|
|
27
|
+
export function buscar_pelo_filtro_conversa(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
28
|
+
return chamar_servico({
|
|
29
|
+
servico: SERVICO_DESTA_API,
|
|
30
|
+
metodo_http: "GET",
|
|
31
|
+
caminho_da_rota: "/conversa",
|
|
32
|
+
credencial_de_acesso,
|
|
33
|
+
parametros_de_consulta: parametros,
|
|
34
|
+
formato_da_resposta: "json",
|
|
35
|
+
}, opcoes_da_chamada);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Cria uma conversa
|
|
39
|
+
*
|
|
40
|
+
* Livre para todo colaborador logado; quem cria entra sozinho. `DIRETA`: exatamente uma pessoa em `participante_ids`; se o par já tem conversa, devolve a que existe com `200`. `GRUPO`: uma ou mais pessoas (até 50 no total), `nome` opcional. `ESPACO`: `nome` obrigatório (até 80 caracteres), `descricao` até 1000, `visibilidade` `PUBLICO` (padrão, qualquer colaborador acha em explorar e entra) ou `PRIVADO` (só por convite); quem cria vira gestor. As mensagens chegam em tempo real em `GET /ws?token=<JWT>` (WebSocket com eventos JSON: `mensagem.criada`, `mensagem.atualizada`, `conversa.atualizada`, `conversa.removida`, `conversa.lida`, `digitando`, `presenca` e `presenca.inicial`).
|
|
41
|
+
*
|
|
42
|
+
* `POST /conversa`
|
|
43
|
+
*/
|
|
44
|
+
export function criar_conversa(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
45
|
+
return chamar_servico({
|
|
46
|
+
servico: SERVICO_DESTA_API,
|
|
47
|
+
metodo_http: "POST",
|
|
48
|
+
caminho_da_rota: "/conversa",
|
|
49
|
+
credencial_de_acesso,
|
|
50
|
+
corpo_json: corpo_da_requisicao,
|
|
51
|
+
formato_da_resposta: "json",
|
|
52
|
+
}, opcoes_da_chamada);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Lista os espaços públicos para entrar
|
|
56
|
+
*
|
|
57
|
+
* Espaços `PUBLICO` em que a pessoa ainda não está, em ordem alfabética (até 200). `busca` procura no nome e na descrição.
|
|
58
|
+
*
|
|
59
|
+
* `GET /conversa/explorar`
|
|
60
|
+
*/
|
|
61
|
+
export function explorar_conversa(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
62
|
+
return chamar_servico({
|
|
63
|
+
servico: SERVICO_DESTA_API,
|
|
64
|
+
metodo_http: "GET",
|
|
65
|
+
caminho_da_rota: "/conversa/explorar",
|
|
66
|
+
credencial_de_acesso,
|
|
67
|
+
parametros_de_consulta: parametros,
|
|
68
|
+
formato_da_resposta: "json",
|
|
69
|
+
}, opcoes_da_chamada);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Busca colaboradores para conversar
|
|
73
|
+
*
|
|
74
|
+
* Colaboradores ativos (até 30), em ordem alfabética, para começar uma conversa ou chamar para um grupo ou espaço. `busca` procura no nome, no e-mail, no setor e no cargo.
|
|
75
|
+
*
|
|
76
|
+
* `GET /conversa/pessoas`
|
|
77
|
+
*/
|
|
78
|
+
export function buscar_pessoas_conversa(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
79
|
+
return chamar_servico({
|
|
80
|
+
servico: SERVICO_DESTA_API,
|
|
81
|
+
metodo_http: "GET",
|
|
82
|
+
caminho_da_rota: "/conversa/pessoas",
|
|
83
|
+
credencial_de_acesso,
|
|
84
|
+
parametros_de_consulta: parametros,
|
|
85
|
+
formato_da_resposta: "json",
|
|
86
|
+
}, opcoes_da_chamada);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Busca uma conversa pelo id
|
|
90
|
+
*
|
|
91
|
+
* A conversa com todos os participantes (inclusive no espaço), o papel de cada um e o estado de quem pediu.
|
|
92
|
+
*
|
|
93
|
+
* `GET /conversa/{id}`
|
|
94
|
+
*/
|
|
95
|
+
export function buscar_pelo_id_conversa(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
96
|
+
return chamar_servico({
|
|
97
|
+
servico: SERVICO_DESTA_API,
|
|
98
|
+
metodo_http: "GET",
|
|
99
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}`,
|
|
100
|
+
credencial_de_acesso,
|
|
101
|
+
formato_da_resposta: "json",
|
|
102
|
+
}, opcoes_da_chamada);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Atualiza o nome, a descrição ou a visibilidade
|
|
106
|
+
*
|
|
107
|
+
* No grupo, qualquer participante muda o `nome`. No espaço, só os gestores mudam `nome`, `descricao` (`null` apaga) e `visibilidade`. A conversa direta não tem nome (`400`).
|
|
108
|
+
*
|
|
109
|
+
* `PATCH /conversa/{id}`
|
|
110
|
+
*/
|
|
111
|
+
export function atualizar_pelo_id_conversa(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
112
|
+
return chamar_servico({
|
|
113
|
+
servico: SERVICO_DESTA_API,
|
|
114
|
+
metodo_http: "PATCH",
|
|
115
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}`,
|
|
116
|
+
credencial_de_acesso,
|
|
117
|
+
corpo_json: corpo_da_requisicao,
|
|
118
|
+
formato_da_resposta: "json",
|
|
119
|
+
}, opcoes_da_chamada);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Exclui o espaço ou o grupo
|
|
123
|
+
*
|
|
124
|
+
* O espaço, só os gestores; o grupo, só quem criou. A conversa direta não se exclui (`400`). Todos os participantes recebem `conversa.removida`.
|
|
125
|
+
*
|
|
126
|
+
* `DELETE /conversa/{id}`
|
|
127
|
+
*/
|
|
128
|
+
export function deletar_pelo_id_conversa(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
129
|
+
return chamar_servico({
|
|
130
|
+
servico: SERVICO_DESTA_API,
|
|
131
|
+
metodo_http: "DELETE",
|
|
132
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}`,
|
|
133
|
+
credencial_de_acesso,
|
|
134
|
+
formato_da_resposta: "sem_conteudo",
|
|
135
|
+
}, opcoes_da_chamada);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Envia um arquivo para uma mensagem
|
|
139
|
+
*
|
|
140
|
+
* Quem participa da conversa envia o arquivo (`conteudo` em base64, até 20 MB; `nome` com a extensão e `tipo` MIME). O arquivo vai direto ao TermoBucket como arquivo privado e nunca fica no banco; se o bucket falhar, responde `503`. O `id` devolvido vai em `anexo_ids` do `POST /conversa/{id}/mensagem` (até 10 por mensagem; o texto pode ficar vazio). Os tipos aceitos são os liberados no cadastro do app no TermoBucket.
|
|
141
|
+
*
|
|
142
|
+
* `POST /conversa/{id}/anexo`
|
|
143
|
+
*/
|
|
144
|
+
export function enviar_anexo(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
145
|
+
return chamar_servico({
|
|
146
|
+
servico: SERVICO_DESTA_API,
|
|
147
|
+
metodo_http: "POST",
|
|
148
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}/anexo`,
|
|
149
|
+
credencial_de_acesso,
|
|
150
|
+
corpo_json: corpo_da_requisicao,
|
|
151
|
+
formato_da_resposta: "json",
|
|
152
|
+
}, opcoes_da_chamada);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Entra num espaço público
|
|
156
|
+
*
|
|
157
|
+
* A pessoa entra como membro. Espaço privado ou outra conversa responde `404`. Repetir não muda nada.
|
|
158
|
+
*
|
|
159
|
+
* `POST /conversa/{id}/entrar`
|
|
160
|
+
*/
|
|
161
|
+
export function entrar_conversa(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
162
|
+
return chamar_servico({
|
|
163
|
+
servico: SERVICO_DESTA_API,
|
|
164
|
+
metodo_http: "POST",
|
|
165
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}/entrar`,
|
|
166
|
+
credencial_de_acesso,
|
|
167
|
+
formato_da_resposta: "json",
|
|
168
|
+
}, opcoes_da_chamada);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Marca a conversa como lida
|
|
172
|
+
*
|
|
173
|
+
* Marca como lida até `mensagem_id`; a leitura nunca volta para trás. As outras abas da pessoa recebem `conversa.lida`.
|
|
174
|
+
*
|
|
175
|
+
* `POST /conversa/{id}/lida`
|
|
176
|
+
*/
|
|
177
|
+
export function marcar_lida_conversa(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
178
|
+
return chamar_servico({
|
|
179
|
+
servico: SERVICO_DESTA_API,
|
|
180
|
+
metodo_http: "POST",
|
|
181
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}/lida`,
|
|
182
|
+
credencial_de_acesso,
|
|
183
|
+
corpo_json: corpo_da_requisicao,
|
|
184
|
+
formato_da_resposta: "json",
|
|
185
|
+
}, opcoes_da_chamada);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Lista o histórico da conversa
|
|
189
|
+
*
|
|
190
|
+
* 50 mensagens por página, da mais antiga para a mais recente. Sem parâmetro, as últimas; `antes` traz as anteriores a uma mensagem (`tem_mais` diz se há mais); `depois` traz as que chegaram depois de uma (reconexão). Sem `thread_id`, só as mensagens principais (cada uma com `respostas`); com `thread_id`, as respostas daquela thread e a principal em `raiz`.
|
|
191
|
+
*
|
|
192
|
+
* `GET /conversa/{id}/mensagem`
|
|
193
|
+
*/
|
|
194
|
+
export function buscar_paginador_mensagem(credencial_de_acesso, id, parametros = {}, opcoes_da_chamada) {
|
|
195
|
+
return chamar_servico({
|
|
196
|
+
servico: SERVICO_DESTA_API,
|
|
197
|
+
metodo_http: "GET",
|
|
198
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}/mensagem`,
|
|
199
|
+
credencial_de_acesso,
|
|
200
|
+
parametros_de_consulta: parametros,
|
|
201
|
+
formato_da_resposta: "json",
|
|
202
|
+
}, opcoes_da_chamada);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Envia uma mensagem
|
|
206
|
+
*
|
|
207
|
+
* `texto` obrigatório (até 10000 caracteres, com `*negrito*`, `_itálico_`, `~riscado~` e `` `código` ``). `thread_id` responde na thread de uma mensagem principal. `anexo_ids` liga arquivos já enviados em `POST /conversa/{id}/anexo` (até 10; com anexos o texto pode ficar vazio). `mencoes` são os ids citados com `@nome` (quem não está na conversa fica de fora) e `mencao_todos` cita `@todos`. Quem está conectado recebe `mensagem.criada` na hora (e, na resposta de thread, `mensagem.atualizada` com a principal).
|
|
208
|
+
*
|
|
209
|
+
* `POST /conversa/{id}/mensagem`
|
|
210
|
+
*/
|
|
211
|
+
export function criar_mensagem(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
212
|
+
return chamar_servico({
|
|
213
|
+
servico: SERVICO_DESTA_API,
|
|
214
|
+
metodo_http: "POST",
|
|
215
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}/mensagem`,
|
|
216
|
+
credencial_de_acesso,
|
|
217
|
+
corpo_json: corpo_da_requisicao,
|
|
218
|
+
formato_da_resposta: "json",
|
|
219
|
+
}, opcoes_da_chamada);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Chama pessoas para o grupo ou o espaço
|
|
223
|
+
*
|
|
224
|
+
* Qualquer participante chama; quem já está continua como estava. A conversa direta não ganha pessoas (`400`): crie um grupo. O grupo vai até 50 pessoas.
|
|
225
|
+
*
|
|
226
|
+
* `POST /conversa/{id}/participante`
|
|
227
|
+
*/
|
|
228
|
+
export function adicionar_participantes_conversa(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
229
|
+
return chamar_servico({
|
|
230
|
+
servico: SERVICO_DESTA_API,
|
|
231
|
+
metodo_http: "POST",
|
|
232
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}/participante`,
|
|
233
|
+
credencial_de_acesso,
|
|
234
|
+
corpo_json: corpo_da_requisicao,
|
|
235
|
+
formato_da_resposta: "json",
|
|
236
|
+
}, opcoes_da_chamada);
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Muda o papel de alguém no espaço
|
|
240
|
+
*
|
|
241
|
+
* Só os gestores, só no espaço. `papel` é `GESTOR` ou `MEMBRO`; o espaço nunca fica sem gestor (`400`).
|
|
242
|
+
*
|
|
243
|
+
* `PATCH /conversa/{id}/participante/{colaborador_id}`
|
|
244
|
+
*/
|
|
245
|
+
export function atualizar_participante_conversa(credencial_de_acesso, id, colaborador_id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
246
|
+
return chamar_servico({
|
|
247
|
+
servico: SERVICO_DESTA_API,
|
|
248
|
+
metodo_http: "PATCH",
|
|
249
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}/participante/${codificar_parametro_de_caminho(colaborador_id)}`,
|
|
250
|
+
credencial_de_acesso,
|
|
251
|
+
corpo_json: corpo_da_requisicao,
|
|
252
|
+
formato_da_resposta: "json",
|
|
253
|
+
}, opcoes_da_chamada);
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Tira alguém do grupo ou do espaço
|
|
257
|
+
*
|
|
258
|
+
* No grupo, qualquer participante; no espaço, só os gestores. Para sair, use `/sair`. A pessoa tirada recebe `conversa.removida`.
|
|
259
|
+
*
|
|
260
|
+
* `DELETE /conversa/{id}/participante/{colaborador_id}`
|
|
261
|
+
*/
|
|
262
|
+
export function remover_participante_conversa(credencial_de_acesso, id, colaborador_id, opcoes_da_chamada) {
|
|
263
|
+
return chamar_servico({
|
|
264
|
+
servico: SERVICO_DESTA_API,
|
|
265
|
+
metodo_http: "DELETE",
|
|
266
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}/participante/${codificar_parametro_de_caminho(colaborador_id)}`,
|
|
267
|
+
credencial_de_acesso,
|
|
268
|
+
formato_da_resposta: "sem_conteudo",
|
|
269
|
+
}, opcoes_da_chamada);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Silencia ou fixa a conversa
|
|
273
|
+
*
|
|
274
|
+
* Só para quem pediu: `silenciado` (sem notificação, a não ser que citem a pessoa) e `fixado` (fica em cima na lista).
|
|
275
|
+
*
|
|
276
|
+
* `PATCH /conversa/{id}/preferencias`
|
|
277
|
+
*/
|
|
278
|
+
export function atualizar_preferencias_conversa(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
279
|
+
return chamar_servico({
|
|
280
|
+
servico: SERVICO_DESTA_API,
|
|
281
|
+
metodo_http: "PATCH",
|
|
282
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}/preferencias`,
|
|
283
|
+
credencial_de_acesso,
|
|
284
|
+
corpo_json: corpo_da_requisicao,
|
|
285
|
+
formato_da_resposta: "json",
|
|
286
|
+
}, opcoes_da_chamada);
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Sai do grupo ou do espaço
|
|
290
|
+
*
|
|
291
|
+
* Da conversa direta não se sai (`400`). Se sair o último gestor do espaço, quem está há mais tempo vira gestor.
|
|
292
|
+
*
|
|
293
|
+
* `POST /conversa/{id}/sair`
|
|
294
|
+
*/
|
|
295
|
+
export function sair_conversa(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
296
|
+
return chamar_servico({
|
|
297
|
+
servico: SERVICO_DESTA_API,
|
|
298
|
+
metodo_http: "POST",
|
|
299
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}/sair`,
|
|
300
|
+
credencial_de_acesso,
|
|
301
|
+
formato_da_resposta: "sem_conteudo",
|
|
302
|
+
}, opcoes_da_chamada);
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Edita uma mensagem
|
|
306
|
+
*
|
|
307
|
+
* Só quem escreveu. Troca o `texto` (e, se vierem, as citações) e marca `editado_em`.
|
|
308
|
+
*
|
|
309
|
+
* `PATCH /mensagem/{id}`
|
|
310
|
+
*/
|
|
311
|
+
export function atualizar_pelo_id_mensagem(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
312
|
+
return chamar_servico({
|
|
313
|
+
servico: SERVICO_DESTA_API,
|
|
314
|
+
metodo_http: "PATCH",
|
|
315
|
+
caminho_da_rota: `/mensagem/${codificar_parametro_de_caminho(id)}`,
|
|
316
|
+
credencial_de_acesso,
|
|
317
|
+
corpo_json: corpo_da_requisicao,
|
|
318
|
+
formato_da_resposta: "json",
|
|
319
|
+
}, opcoes_da_chamada);
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Exclui uma mensagem
|
|
323
|
+
*
|
|
324
|
+
* Quem escreveu, ou um gestor do espaço. A principal com respostas fica no lugar como excluída, sem texto.
|
|
325
|
+
*
|
|
326
|
+
* `DELETE /mensagem/{id}`
|
|
327
|
+
*/
|
|
328
|
+
export function deletar_pelo_id_mensagem(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
329
|
+
return chamar_servico({
|
|
330
|
+
servico: SERVICO_DESTA_API,
|
|
331
|
+
metodo_http: "DELETE",
|
|
332
|
+
caminho_da_rota: `/mensagem/${codificar_parametro_de_caminho(id)}`,
|
|
333
|
+
credencial_de_acesso,
|
|
334
|
+
formato_da_resposta: "sem_conteudo",
|
|
335
|
+
}, opcoes_da_chamada);
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Reage a uma mensagem
|
|
339
|
+
*
|
|
340
|
+
* Põe a reação de quem pediu com o `emoji`; reagir de novo com o mesmo tira.
|
|
341
|
+
*
|
|
342
|
+
* `POST /mensagem/{id}/reacao`
|
|
343
|
+
*/
|
|
344
|
+
export function reagir_mensagem(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
345
|
+
return chamar_servico({
|
|
346
|
+
servico: SERVICO_DESTA_API,
|
|
347
|
+
metodo_http: "POST",
|
|
348
|
+
caminho_da_rota: `/mensagem/${codificar_parametro_de_caminho(id)}/reacao`,
|
|
349
|
+
credencial_de_acesso,
|
|
350
|
+
corpo_json: corpo_da_requisicao,
|
|
351
|
+
formato_da_resposta: "json",
|
|
352
|
+
}, opcoes_da_chamada);
|
|
353
|
+
}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Os dados do anexo que vão junto da mensagem.
|
|
3
|
+
*/
|
|
4
|
+
export interface Anexo {
|
|
5
|
+
id: string;
|
|
6
|
+
nome: string;
|
|
7
|
+
/**
|
|
8
|
+
* Em bytes.
|
|
9
|
+
*/
|
|
10
|
+
tamanho: number;
|
|
11
|
+
/**
|
|
12
|
+
* Tipo MIME (`image/png`, `application/pdf`...).
|
|
13
|
+
*/
|
|
14
|
+
tipo: string;
|
|
15
|
+
}
|
|
16
|
+
export interface AnexoComEndereco {
|
|
17
|
+
id: string;
|
|
18
|
+
nome: string;
|
|
19
|
+
tamanho: number;
|
|
20
|
+
tipo: string;
|
|
21
|
+
/**
|
|
22
|
+
* Link assinado do TermoBucket; vale 15 minutos.
|
|
23
|
+
*/
|
|
24
|
+
url_download: string;
|
|
25
|
+
}
|
|
26
|
+
export interface AnexoEnviar {
|
|
27
|
+
/**
|
|
28
|
+
* O arquivo em base64 (até 20 MB depois de decodificado).
|
|
29
|
+
*/
|
|
30
|
+
conteudo: string;
|
|
31
|
+
/**
|
|
32
|
+
* Nome do arquivo, com a extensão.
|
|
33
|
+
*/
|
|
34
|
+
nome: string;
|
|
35
|
+
/**
|
|
36
|
+
* Tipo MIME.
|
|
37
|
+
*/
|
|
38
|
+
tipo: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Colaborador para escolher numa conversa: nome, e-mail, setor e cargo.
|
|
42
|
+
*/
|
|
43
|
+
export interface ColaboradorPessoa {
|
|
44
|
+
cargo?: string | null;
|
|
45
|
+
email: string;
|
|
46
|
+
id: string;
|
|
47
|
+
nome: string;
|
|
48
|
+
setor?: string | null;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resumo do colaborador (id e nome) para mostrar autoria.
|
|
52
|
+
*/
|
|
53
|
+
export interface ColaboradorResumo {
|
|
54
|
+
id: string;
|
|
55
|
+
nome: string;
|
|
56
|
+
}
|
|
57
|
+
export interface Conversa {
|
|
58
|
+
criado_em: string;
|
|
59
|
+
criado_por: string;
|
|
60
|
+
descricao?: string | null;
|
|
61
|
+
eu?: MeuEstado | null;
|
|
62
|
+
id: string;
|
|
63
|
+
/**
|
|
64
|
+
* Mensagens que citam quem pediu (ou `@todos`) depois da última lida, inclusive nas threads.
|
|
65
|
+
*/
|
|
66
|
+
mencoes: number;
|
|
67
|
+
/**
|
|
68
|
+
* Mensagens principais (fora das threads) de outras pessoas depois da última lida.
|
|
69
|
+
*/
|
|
70
|
+
nao_lidas: number;
|
|
71
|
+
nome?: string | null;
|
|
72
|
+
/**
|
|
73
|
+
* Na conversa direta e no grupo vêm todos; no espaço, só na leitura pelo id.
|
|
74
|
+
*/
|
|
75
|
+
participantes: Array<Participante>;
|
|
76
|
+
/**
|
|
77
|
+
* `DIRETA`, `GRUPO` ou `ESPACO`.
|
|
78
|
+
*/
|
|
79
|
+
tipo: string;
|
|
80
|
+
total_participantes: number;
|
|
81
|
+
ultima_atividade_em: string;
|
|
82
|
+
ultima_mensagem?: UltimaMensagem | null;
|
|
83
|
+
/**
|
|
84
|
+
* Só no espaço: `PUBLICO` (qualquer colaborador acha e entra) ou `PRIVADO` (só por convite).
|
|
85
|
+
*/
|
|
86
|
+
visibilidade?: string | null;
|
|
87
|
+
}
|
|
88
|
+
export interface ConversaAtualizar {
|
|
89
|
+
descricao?: string | null;
|
|
90
|
+
nome?: string | null;
|
|
91
|
+
visibilidade?: string | null;
|
|
92
|
+
}
|
|
93
|
+
export interface ConversaCriar {
|
|
94
|
+
descricao?: string | null;
|
|
95
|
+
/**
|
|
96
|
+
* Obrigatório no espaço; opcional no grupo; ignorado na conversa direta.
|
|
97
|
+
*/
|
|
98
|
+
nome?: string | null;
|
|
99
|
+
/**
|
|
100
|
+
* As outras pessoas (quem cria entra sozinho). Na direta, exatamente uma.
|
|
101
|
+
*/
|
|
102
|
+
participante_ids?: Array<string>;
|
|
103
|
+
/**
|
|
104
|
+
* `DIRETA`, `GRUPO` ou `ESPACO`.
|
|
105
|
+
*/
|
|
106
|
+
tipo: string;
|
|
107
|
+
/**
|
|
108
|
+
* Só no espaço: `PUBLICO` (padrão) ou `PRIVADO`.
|
|
109
|
+
*/
|
|
110
|
+
visibilidade?: string | null;
|
|
111
|
+
}
|
|
112
|
+
export interface EspacoPublico {
|
|
113
|
+
descricao?: string | null;
|
|
114
|
+
id: string;
|
|
115
|
+
nome: string;
|
|
116
|
+
total_participantes: number;
|
|
117
|
+
ultima_atividade_em: string;
|
|
118
|
+
}
|
|
119
|
+
export interface LeituraMarcar {
|
|
120
|
+
/**
|
|
121
|
+
* A última mensagem vista; a leitura nunca volta para trás.
|
|
122
|
+
*/
|
|
123
|
+
mensagem_id: string;
|
|
124
|
+
}
|
|
125
|
+
export interface Mensagem {
|
|
126
|
+
/**
|
|
127
|
+
* Arquivos e imagens; o link para baixar vem de `GET /anexo/{id}`.
|
|
128
|
+
*/
|
|
129
|
+
anexos: Array<Anexo>;
|
|
130
|
+
autor: ColaboradorResumo;
|
|
131
|
+
conversa_id: string;
|
|
132
|
+
criado_em: string;
|
|
133
|
+
editado_em?: string | null;
|
|
134
|
+
/**
|
|
135
|
+
* Mensagem principal excluída que ainda tem respostas: fica no lugar, sem texto.
|
|
136
|
+
*/
|
|
137
|
+
excluida: boolean;
|
|
138
|
+
id: string;
|
|
139
|
+
mencao_todos: boolean;
|
|
140
|
+
mencoes: Array<string>;
|
|
141
|
+
reacoes: Array<Reacao>;
|
|
142
|
+
respostas: number;
|
|
143
|
+
seguidores: Array<string>;
|
|
144
|
+
/**
|
|
145
|
+
* Texto com formatação simples (`*negrito*`, `_itálico_`, `~riscado~`, `` `código` ``); vazio se excluída.
|
|
146
|
+
*/
|
|
147
|
+
texto: string;
|
|
148
|
+
/**
|
|
149
|
+
* A mensagem principal da thread; vazio na mensagem principal.
|
|
150
|
+
*/
|
|
151
|
+
thread_id?: string | null;
|
|
152
|
+
ultima_resposta_em?: string | null;
|
|
153
|
+
}
|
|
154
|
+
export interface MensagemAtualizar {
|
|
155
|
+
mencao_todos?: boolean | null;
|
|
156
|
+
mencoes?: Array<string> | null;
|
|
157
|
+
texto: string;
|
|
158
|
+
}
|
|
159
|
+
export interface MensagemCriar {
|
|
160
|
+
/**
|
|
161
|
+
* Anexos já enviados em `POST /conversa/{id}/anexo` (até 10).
|
|
162
|
+
*/
|
|
163
|
+
anexo_ids?: Array<string>;
|
|
164
|
+
/**
|
|
165
|
+
* Citou `@todos`.
|
|
166
|
+
*/
|
|
167
|
+
mencao_todos?: boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Quem foi citado com `@nome` (precisa estar na conversa).
|
|
170
|
+
*/
|
|
171
|
+
mencoes?: Array<string>;
|
|
172
|
+
/**
|
|
173
|
+
* Pode ficar vazio quando vão anexos.
|
|
174
|
+
*/
|
|
175
|
+
texto?: string;
|
|
176
|
+
/**
|
|
177
|
+
* Responde na thread desta mensagem principal.
|
|
178
|
+
*/
|
|
179
|
+
thread_id?: string | null;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* O estado de quem pediu numa conversa.
|
|
183
|
+
*/
|
|
184
|
+
export interface MeuEstado {
|
|
185
|
+
entrou_em: string;
|
|
186
|
+
fixado: boolean;
|
|
187
|
+
papel: string;
|
|
188
|
+
silenciado: boolean;
|
|
189
|
+
ultima_lida_id?: string | null;
|
|
190
|
+
}
|
|
191
|
+
export interface PaginaDeMensagens {
|
|
192
|
+
/**
|
|
193
|
+
* Da mais antiga para a mais recente.
|
|
194
|
+
*/
|
|
195
|
+
itens: Array<Mensagem>;
|
|
196
|
+
raiz?: Mensagem | null;
|
|
197
|
+
/**
|
|
198
|
+
* Há mensagens mais antigas que as desta página.
|
|
199
|
+
*/
|
|
200
|
+
tem_mais: boolean;
|
|
201
|
+
}
|
|
202
|
+
export interface Participante {
|
|
203
|
+
entrou_em: string;
|
|
204
|
+
id: string;
|
|
205
|
+
nome: string;
|
|
206
|
+
papel: string;
|
|
207
|
+
}
|
|
208
|
+
export interface ParticipanteAtualizar {
|
|
209
|
+
/**
|
|
210
|
+
* `GESTOR` ou `MEMBRO`.
|
|
211
|
+
*/
|
|
212
|
+
papel: string;
|
|
213
|
+
}
|
|
214
|
+
export interface ParticipantesAdicionar {
|
|
215
|
+
colaborador_ids: Array<string>;
|
|
216
|
+
}
|
|
217
|
+
export interface PreferenciasAtualizar {
|
|
218
|
+
fixado?: boolean | null;
|
|
219
|
+
silenciado?: boolean | null;
|
|
220
|
+
}
|
|
221
|
+
export interface Reacao {
|
|
222
|
+
colaborador_ids: Array<string>;
|
|
223
|
+
emoji: string;
|
|
224
|
+
}
|
|
225
|
+
export interface ReacaoAlternar {
|
|
226
|
+
/**
|
|
227
|
+
* O emoji; reagir de novo com o mesmo tira a reação.
|
|
228
|
+
*/
|
|
229
|
+
emoji: string;
|
|
230
|
+
}
|
|
231
|
+
export interface RespostaDeErro {
|
|
232
|
+
erro: string;
|
|
233
|
+
}
|
|
234
|
+
export interface UltimaMensagem {
|
|
235
|
+
autor: ColaboradorResumo;
|
|
236
|
+
criado_em: string;
|
|
237
|
+
id: string;
|
|
238
|
+
texto: string;
|
|
239
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "termo_core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.14",
|
|
4
4
|
"description": "Todos os clientes da Termotubos num pacote só: um módulo por serviço e cada rota da API como uma função com fetch, com o endereço resolvido pelo ambiente atual.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "TI Termotubos <ti@termotubos.com.br>",
|