termo_core 0.1.4 → 0.1.6
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/ai/rotas.d.ts +0 -263
- package/dist/ai/rotas.js +0 -397
- package/dist/ai/tipos.d.ts +0 -202
- package/dist/auth/rotas.d.ts +0 -8
- package/dist/auth/rotas.js +0 -16
- package/dist/auth/tipos.d.ts +0 -8
- package/dist/bucket/rotas.d.ts +3 -3
- package/dist/bucket/rotas.js +3 -3
- package/dist/intranet/rotas.d.ts +0 -335
- package/dist/intranet/rotas.js +0 -463
- package/dist/intranet/tipos.d.ts +0 -210
- package/dist/leads/rotas.d.ts +0 -334
- package/dist/leads/rotas.js +0 -440
- package/dist/leads/tipos.d.ts +0 -653
- package/dist/portal/rotas.d.ts +47 -454
- package/dist/portal/rotas.js +37 -635
- package/dist/portal/tipos.d.ts +125 -314
- package/dist/support/rotas.d.ts +0 -306
- package/dist/support/rotas.js +0 -420
- package/dist/support/tipos.d.ts +0 -216
- package/dist/tracing/rotas.d.ts +0 -305
- package/dist/tracing/rotas.js +0 -415
- package/dist/tracing/tipos.d.ts +0 -250
- package/dist/webhook/rotas.d.ts +0 -333
- package/dist/webhook/rotas.js +0 -458
- package/dist/webhook/tipos.d.ts +0 -255
- package/package.json +1 -1
package/dist/tracing/rotas.js
CHANGED
|
@@ -118,256 +118,6 @@ export function deletar_pelo_id_aplicativo(credencial_de_acesso, id, opcoes_da_c
|
|
|
118
118
|
formato_da_resposta: "sem_conteudo",
|
|
119
119
|
}, opcoes_da_chamada);
|
|
120
120
|
}
|
|
121
|
-
/**
|
|
122
|
-
* Lista os acessos com paginação
|
|
123
|
-
*
|
|
124
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Ordena por perfil e depois por e-mail. Acessos excluídos não aparecem. `pagina` começa em 1 (padrão 1; valores menores viram 1). A página tem sempre 50 itens: `tamanho` é aceito, mas ignorado. `total` conta todos os registros não excluídos.
|
|
125
|
-
*
|
|
126
|
-
* `GET /auth`
|
|
127
|
-
*/
|
|
128
|
-
export function buscar_paginador_auth(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
129
|
-
return chamar_servico({
|
|
130
|
-
servico: SERVICO_DESTA_API,
|
|
131
|
-
metodo_http: "GET",
|
|
132
|
-
caminho_da_rota: "/auth",
|
|
133
|
-
credencial_de_acesso,
|
|
134
|
-
parametros_de_consulta: parametros,
|
|
135
|
-
formato_da_resposta: "json",
|
|
136
|
-
}, opcoes_da_chamada);
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Cria um acesso
|
|
140
|
-
*
|
|
141
|
-
* Exige a permissão `criar` da área `colaboradores`. Cadastra quem pode entrar no TermoTracing. `email` é obrigatório, com até 160 caracteres, e é gravado em minúsculas, sem espaços nas pontas; `perfil` é `colaborador` ou `cliente`. O acesso nasce ativo e sem nenhuma permissão. Para a pessoa conseguir entrar, o e-mail precisa ser `@termotubos.com.br` e existir no TermoAuth com o mesmo endereço.
|
|
142
|
-
*
|
|
143
|
-
* `POST /auth`
|
|
144
|
-
*/
|
|
145
|
-
export function criar_auth(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
146
|
-
return chamar_servico({
|
|
147
|
-
servico: SERVICO_DESTA_API,
|
|
148
|
-
metodo_http: "POST",
|
|
149
|
-
caminho_da_rota: "/auth",
|
|
150
|
-
credencial_de_acesso,
|
|
151
|
-
corpo_json: corpo_da_requisicao,
|
|
152
|
-
formato_da_resposta: "json",
|
|
153
|
-
}, opcoes_da_chamada);
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Busca o acesso de quem está logado
|
|
157
|
-
*
|
|
158
|
-
* Livre para qualquer usuário autenticado com acesso ativo, mesmo sem nenhuma permissão liberada. Devolve o acesso de quem chamou (id, e-mail, nome, perfil e se é master do TermoAuth) e as permissões por área (`rastreamento`, `aplicativos` e `colaboradores`), cada uma com `ler`, `criar`, `editar` e `deletar`. Um master do TermoAuth recebe todas as permissões e, no primeiro pedido, ganha o acesso e o colaborador automaticamente. `nome` vem do TermoAuth e, se estiver vazio, repete o e-mail. É a chamada que o painel faz antes de mostrar qualquer tela.
|
|
159
|
-
*
|
|
160
|
-
* `GET /auth/acesso`
|
|
161
|
-
*/
|
|
162
|
-
export function buscar_acesso_auth(credencial_de_acesso, opcoes_da_chamada) {
|
|
163
|
-
return chamar_servico({
|
|
164
|
-
servico: SERVICO_DESTA_API,
|
|
165
|
-
metodo_http: "GET",
|
|
166
|
-
caminho_da_rota: "/auth/acesso",
|
|
167
|
-
credencial_de_acesso,
|
|
168
|
-
formato_da_resposta: "json",
|
|
169
|
-
}, opcoes_da_chamada);
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Lista básica de acessos para seleção
|
|
173
|
-
*
|
|
174
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Devolve só id, e-mail e perfil, em ordem alfabética de e-mail, para escolher um acesso. `busca` procura por trecho do e-mail, sem diferenciar maiúsculas; `perfil` compara o valor exato. `pagina` começa em 1 (padrão 1) e `tamanho` tem padrão 10, sem máximo; valores menores que 1 viram 1. `total` conta os registros que casam com a busca.
|
|
175
|
-
*
|
|
176
|
-
* `GET /auth/autocomplete`
|
|
177
|
-
*/
|
|
178
|
-
export function buscar_auto_complete_auth(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
179
|
-
return chamar_servico({
|
|
180
|
-
servico: SERVICO_DESTA_API,
|
|
181
|
-
metodo_http: "GET",
|
|
182
|
-
caminho_da_rota: "/auth/autocomplete",
|
|
183
|
-
credencial_de_acesso,
|
|
184
|
-
parametros_de_consulta: parametros,
|
|
185
|
-
formato_da_resposta: "json",
|
|
186
|
-
}, opcoes_da_chamada);
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Busca acessos por filtro
|
|
190
|
-
*
|
|
191
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Devolve todos os acessos que casam com o filtro, sem paginação, em ordem alfabética de e-mail. `email` procura por trecho, sem diferenciar maiúsculas; `perfil` compara o valor exato (`colaborador` ou `cliente`); `ativo` filtra pela situação. Sem filtro, devolve todos. Acessos excluídos não aparecem.
|
|
192
|
-
*
|
|
193
|
-
* `GET /auth/filtro`
|
|
194
|
-
*/
|
|
195
|
-
export function buscar_pelo_filtro_auth(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
196
|
-
return chamar_servico({
|
|
197
|
-
servico: SERVICO_DESTA_API,
|
|
198
|
-
metodo_http: "GET",
|
|
199
|
-
caminho_da_rota: "/auth/filtro",
|
|
200
|
-
credencial_de_acesso,
|
|
201
|
-
parametros_de_consulta: parametros,
|
|
202
|
-
formato_da_resposta: "json",
|
|
203
|
-
}, opcoes_da_chamada);
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Busca um acesso pelo id
|
|
207
|
-
*
|
|
208
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Acesso excluído responde `404`. `vinculado` diz se há um colaborador ligado ao acesso, e `nome` é o nome desse colaborador. `master` diz se a pessoa é master do TermoAuth.
|
|
209
|
-
*
|
|
210
|
-
* `GET /auth/{id}`
|
|
211
|
-
*/
|
|
212
|
-
export function buscar_pelo_id_auth(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
213
|
-
return chamar_servico({
|
|
214
|
-
servico: SERVICO_DESTA_API,
|
|
215
|
-
metodo_http: "GET",
|
|
216
|
-
caminho_da_rota: `/auth/${codificar_parametro_de_caminho(id)}`,
|
|
217
|
-
credencial_de_acesso,
|
|
218
|
-
formato_da_resposta: "json",
|
|
219
|
-
}, opcoes_da_chamada);
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Atualiza um acesso pelo id
|
|
223
|
-
*
|
|
224
|
-
* Exige a permissão `editar` da área `colaboradores`. Atualização parcial: só os campos enviados mudam. `email` (até 160 caracteres, gravado em minúsculas) e `ativo` (acesso inativo é barrado em todas as rotas). O perfil não muda. O acesso de um master do TermoAuth não pode ser alterado.
|
|
225
|
-
*
|
|
226
|
-
* `PATCH /auth/{id}`
|
|
227
|
-
*/
|
|
228
|
-
export function atualizar_pelo_id_auth(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: `/auth/${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 acesso pelo id
|
|
240
|
-
*
|
|
241
|
-
* Exige a permissão `deletar` da área `colaboradores`. A exclusão é lógica: o acesso some das consultas e a pessoa deixa de entrar, mas o registro fica guardado e não há como restaurar. Acesso com colaborador vinculado não pode ser excluído por aqui. O acesso de um master do TermoAuth não pode ser excluído.
|
|
242
|
-
*
|
|
243
|
-
* `DELETE /auth/{id}`
|
|
244
|
-
*/
|
|
245
|
-
export function deletar_pelo_id_auth(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
246
|
-
return chamar_servico({
|
|
247
|
-
servico: SERVICO_DESTA_API,
|
|
248
|
-
metodo_http: "DELETE",
|
|
249
|
-
caminho_da_rota: `/auth/${codificar_parametro_de_caminho(id)}`,
|
|
250
|
-
credencial_de_acesso,
|
|
251
|
-
formato_da_resposta: "sem_conteudo",
|
|
252
|
-
}, opcoes_da_chamada);
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Lista os colaboradores com paginação
|
|
256
|
-
*
|
|
257
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Ordena por nome. Quando quem chama é master do TermoAuth, antes de listar o TermoTracing busca no TermoAuth os colaboradores `@termotubos.com.br` que ainda não existem aqui e os cadastra sem nenhuma permissão. `pagina` começa em 1 (padrão 1; valores menores viram 1). A página tem sempre 50 itens: `tamanho` é aceito, mas ignorado. `total` conta todos os registros não excluídos.
|
|
258
|
-
*
|
|
259
|
-
* `GET /colaborador`
|
|
260
|
-
*/
|
|
261
|
-
export function buscar_paginador_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
262
|
-
return chamar_servico({
|
|
263
|
-
servico: SERVICO_DESTA_API,
|
|
264
|
-
metodo_http: "GET",
|
|
265
|
-
caminho_da_rota: "/colaborador",
|
|
266
|
-
credencial_de_acesso,
|
|
267
|
-
parametros_de_consulta: parametros,
|
|
268
|
-
formato_da_resposta: "json",
|
|
269
|
-
}, opcoes_da_chamada);
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* Lista básica de colaboradores para seleção
|
|
273
|
-
*
|
|
274
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Devolve só id, nome e e-mail, em ordem alfabética de nome. `busca` procura por trecho do nome ou do e-mail, 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. `total` conta os registros que casam com a busca.
|
|
275
|
-
*
|
|
276
|
-
* `GET /colaborador/autocomplete`
|
|
277
|
-
*/
|
|
278
|
-
export function buscar_auto_complete_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
279
|
-
return chamar_servico({
|
|
280
|
-
servico: SERVICO_DESTA_API,
|
|
281
|
-
metodo_http: "GET",
|
|
282
|
-
caminho_da_rota: "/colaborador/autocomplete",
|
|
283
|
-
credencial_de_acesso,
|
|
284
|
-
parametros_de_consulta: parametros,
|
|
285
|
-
formato_da_resposta: "json",
|
|
286
|
-
}, opcoes_da_chamada);
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Busca colaboradores por filtro
|
|
290
|
-
*
|
|
291
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Devolve todos os colaboradores que casam com o filtro, sem paginação, em ordem alfabética de nome. `busca` procura por trecho do nome ou do e-mail (a busca rápida da tela); `nome`, `email` e `cargo` procuram por trecho, sem diferenciar maiúsculas; `ativo` filtra pela situação; `perfil_acesso_id` filtra pelo perfil de acesso. Sem filtro, devolve todos. O colaborador é do TermoAuth: aqui ele só é lido (chega pela sincronização e pelos eventos do TermoWebhook) e `setor`, `cargo` e `funcao` vêm de lá.
|
|
292
|
-
*
|
|
293
|
-
* `GET /colaborador/filtro`
|
|
294
|
-
*/
|
|
295
|
-
export function buscar_pelo_filtro_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
296
|
-
return chamar_servico({
|
|
297
|
-
servico: SERVICO_DESTA_API,
|
|
298
|
-
metodo_http: "GET",
|
|
299
|
-
caminho_da_rota: "/colaborador/filtro",
|
|
300
|
-
credencial_de_acesso,
|
|
301
|
-
parametros_de_consulta: parametros,
|
|
302
|
-
formato_da_resposta: "json",
|
|
303
|
-
}, opcoes_da_chamada);
|
|
304
|
-
}
|
|
305
|
-
/**
|
|
306
|
-
* Busca um colaborador pelo id
|
|
307
|
-
*
|
|
308
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Devolve o colaborador com o e-mail e o `master` do acesso dele. Colaborador excluído responde `404`. O colaborador é do TermoAuth: aqui ele só é lido (chega pela sincronização e pelos eventos do TermoWebhook) e `setor`, `cargo` e `funcao` vêm de lá.
|
|
309
|
-
*
|
|
310
|
-
* `GET /colaborador/{id}`
|
|
311
|
-
*/
|
|
312
|
-
export function buscar_pelo_id_colaborador(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
313
|
-
return chamar_servico({
|
|
314
|
-
servico: SERVICO_DESTA_API,
|
|
315
|
-
metodo_http: "GET",
|
|
316
|
-
caminho_da_rota: `/colaborador/${codificar_parametro_de_caminho(id)}`,
|
|
317
|
-
credencial_de_acesso,
|
|
318
|
-
formato_da_resposta: "json",
|
|
319
|
-
}, opcoes_da_chamada);
|
|
320
|
-
}
|
|
321
|
-
/**
|
|
322
|
-
* Define o perfil de acesso de um colaborador
|
|
323
|
-
*
|
|
324
|
-
* Exige a permissão `editar` da área `colaboradores`. É a única escrita do colaborador feita pelo TermoTracing: `perfil_acesso_id` aponta para um perfil de `GET /perfil_acesso/filtro` e passa a definir o que a pessoa enxerga; `null` tira o perfil e deixa a pessoa sem nenhuma área. O colaborador de um master do TermoAuth não aceita perfil (ele já tem tudo). Vale em até 5 minutos (cache do acesso).
|
|
325
|
-
*
|
|
326
|
-
* `PATCH /colaborador/{id}/perfil_acesso`
|
|
327
|
-
*/
|
|
328
|
-
export function vincular_perfil_acesso_colaborador(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
329
|
-
return chamar_servico({
|
|
330
|
-
servico: SERVICO_DESTA_API,
|
|
331
|
-
metodo_http: "PATCH",
|
|
332
|
-
caminho_da_rota: `/colaborador/${codificar_parametro_de_caminho(id)}/perfil_acesso`,
|
|
333
|
-
credencial_de_acesso,
|
|
334
|
-
corpo_json: corpo_da_requisicao,
|
|
335
|
-
formato_da_resposta: "json",
|
|
336
|
-
}, opcoes_da_chamada);
|
|
337
|
-
}
|
|
338
|
-
/**
|
|
339
|
-
* Busca a configuração do TermoTracing
|
|
340
|
-
*
|
|
341
|
-
* Só um master do TermoAuth (os demais recebem `403`). A configuração é uma linha única e guarda o segredo do app `termo-tracing` gerado no TermoAuth, cifrado no banco com AES-256-GCM e a chave derivada de `GLOBAL_SECRET_CRIPTOGRAFIA`. O valor nunca volta: `segredo_do_app_gerado_no_termo_auth` traz só `configurado` e `final_visivel` (os 4 últimos caracteres, mascarados). Sem a `GLOBAL_SECRET_CRIPTOGRAFIA` no servidor, `criptografia_disponivel` vem `false` e o segredo aparece como não configurado.
|
|
342
|
-
*
|
|
343
|
-
* `GET /configuracao`
|
|
344
|
-
*/
|
|
345
|
-
export function buscar_pelo_id_configuracao(credencial_de_acesso, opcoes_da_chamada) {
|
|
346
|
-
return chamar_servico({
|
|
347
|
-
servico: SERVICO_DESTA_API,
|
|
348
|
-
metodo_http: "GET",
|
|
349
|
-
caminho_da_rota: "/configuracao",
|
|
350
|
-
credencial_de_acesso,
|
|
351
|
-
formato_da_resposta: "json",
|
|
352
|
-
}, opcoes_da_chamada);
|
|
353
|
-
}
|
|
354
|
-
/**
|
|
355
|
-
* Atualiza o segredo do app gerado no TermoAuth
|
|
356
|
-
*
|
|
357
|
-
* Só um master do TermoAuth (os demais recebem `403`). `segredo_do_app_gerado_no_termo_auth` é obrigatório: uma string troca o segredo (até 2.000 caracteres, sem quebra de linha; espaços nas pontas são removidos) e `null` ou string vazia limpa. O valor é gravado cifrado e entregue na hora ao `termo_core`, que o usa para pedir o token de aplicativo no TermoAuth, sem deploy. Campo desconhecido no corpo responde `422`.
|
|
358
|
-
*
|
|
359
|
-
* `PATCH /configuracao`
|
|
360
|
-
*/
|
|
361
|
-
export function atualizar_pelo_id_configuracao(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
362
|
-
return chamar_servico({
|
|
363
|
-
servico: SERVICO_DESTA_API,
|
|
364
|
-
metodo_http: "PATCH",
|
|
365
|
-
caminho_da_rota: "/configuracao",
|
|
366
|
-
credencial_de_acesso,
|
|
367
|
-
corpo_json: corpo_da_requisicao,
|
|
368
|
-
formato_da_resposta: "json",
|
|
369
|
-
}, opcoes_da_chamada);
|
|
370
|
-
}
|
|
371
121
|
/**
|
|
372
122
|
* Lista os erros paginados
|
|
373
123
|
*
|
|
@@ -536,22 +286,6 @@ export function buscar_pelo_filtro_evento(credencial_de_acesso, parametros = {},
|
|
|
536
286
|
formato_da_resposta: "json",
|
|
537
287
|
}, opcoes_da_chamada);
|
|
538
288
|
}
|
|
539
|
-
/**
|
|
540
|
-
* Recebe um lote de eventos de um site (ingestão)
|
|
541
|
-
*
|
|
542
|
-
* Rota pública, sem token: é a que o script instalado no site do cliente chama. O corpo é JSON, opcionalmente comprimido em gzip (`Content-Encoding: gzip`), com a `chave` pública do aplicativo, os dados da `sessao` e a lista de `eventos`. O cabeçalho `Origin` (ou, na falta dele, `Referer`) precisa ser de um dos domínios cadastrados no aplicativo. Cada lote aceita até 500 eventos (o excedente é recusado) e eventos de tipo desconhecido são recusados; cada chave aceita até 6000 eventos por minuto. Tipos aceitos: `ERRO_JS`, `PROMISE_REJEITADA`, `CONSOLE`, `REQUISICAO`, `NAVEGACAO`, `SAIDA`, `PULSO`, `CLIQUE`, `DESEMPENHO`, `IDENTIFICACAO` e `PERSONALIZADO`. Com o comportamento `PARAR_INGESTAO` e a franquia do mês esgotada, o lote é recusado. Os eventos aceitos são gravados em segundo plano; a resposta diz quantos foram aceitos e recusados. Campos do corpo: `chave`: chave pública do aplicativo (prefixo `pk_live_`), obrigatória; `sessao`: dados da sessão de navegação que enviou o lote; `eventos`: eventos do lote; até 500 por lote, o excedente é recusado. Campos de `sessao`: `sessao.sessao_externa`: identificador da sessão gerado pelo script (obrigatório); `sessao.anonimo_id`: identificador anônimo do visitante (obrigatório); `sessao.usuario_id`: id do usuário logado no site (opcional); `sessao.navegador`: navegador (padrão vazio); `sessao.sistema_operacional`: sistema operacional (padrão vazio); `sessao.dispositivo`: tipo de dispositivo (padrão vazio); `sessao.resolucao`: resolução da tela (padrão vazio); `sessao.pagina_inicial`: endereço da primeira página (padrão vazio). Campos de cada item de `eventos`: `evento_id`: identificador do evento no navegador, usado para não gravar o mesmo evento duas vezes (até 120 caracteres); `tipo`: tipo do evento (obrigatório): `ERRO_JS`, `PROMISE_REJEITADA`, `CONSOLE`, `REQUISICAO`, `NAVEGACAO`, `SAIDA`, `PULSO`, `CLIQUE`, `DESEMPENHO`, `IDENTIFICACAO` ou `PERSONALIZADO`; outro valor é recusado; `nome`: nome do evento (padrão vazio; cortado em 120 caracteres); `mensagem`: mensagem (cortada em 2000 caracteres); `pilha`: pilha de chamadas (cortada em 8000 caracteres); `arquivo`: arquivo do erro (cortado em 2000 caracteres); `linha`: linha do erro; `coluna`: coluna do erro; `url`: endereço da página ou da requisição (cortado em 2000 caracteres); `metodo`: método HTTP da requisição; `status`: status HTTP da requisição; `duracao_ms`: duração em milissegundos; `nivel`: nível do console; `seletor`: seletor CSS do elemento clicado (cortado em 500 caracteres); `texto`: texto do elemento clicado (cortado em 200 caracteres); `metrica`: nome da métrica de desempenho; `valor`: valor da métrica de desempenho; `usuario_id`: id do usuário logado no site; `payload`: dados livres (JSON); `ocorrido_em`: data e hora ISO 8601 em que o evento ocorreu (padrão: a hora do recebimento).
|
|
543
|
-
*
|
|
544
|
-
* `POST /evento/ingestao`
|
|
545
|
-
*/
|
|
546
|
-
export function criar_evento(corpo_da_requisicao, opcoes_da_chamada) {
|
|
547
|
-
return chamar_servico({
|
|
548
|
-
servico: SERVICO_DESTA_API,
|
|
549
|
-
metodo_http: "POST",
|
|
550
|
-
caminho_da_rota: "/evento/ingestao",
|
|
551
|
-
corpo_json: corpo_da_requisicao,
|
|
552
|
-
formato_da_resposta: "json",
|
|
553
|
-
}, opcoes_da_chamada);
|
|
554
|
-
}
|
|
555
289
|
/**
|
|
556
290
|
* Busca um evento pelo id
|
|
557
291
|
*
|
|
@@ -601,123 +335,6 @@ export function deletar_pelo_id_evento(credencial_de_acesso, id, opcoes_da_chama
|
|
|
601
335
|
formato_da_resposta: "sem_conteudo",
|
|
602
336
|
}, opcoes_da_chamada);
|
|
603
337
|
}
|
|
604
|
-
/**
|
|
605
|
-
* Lista os perfis de acesso com paginação
|
|
606
|
-
*
|
|
607
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Ordena pelo nome. `pagina` começa em 1 (padrão 1; valores menores viram 1). A página tem sempre 50 itens: `tamanho` é aceito, mas ignorado. `total` conta todos os registros não excluídos.
|
|
608
|
-
*
|
|
609
|
-
* `GET /perfil_acesso`
|
|
610
|
-
*/
|
|
611
|
-
export function buscar_paginador_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
612
|
-
return chamar_servico({
|
|
613
|
-
servico: SERVICO_DESTA_API,
|
|
614
|
-
metodo_http: "GET",
|
|
615
|
-
caminho_da_rota: "/perfil_acesso",
|
|
616
|
-
credencial_de_acesso,
|
|
617
|
-
parametros_de_consulta: parametros,
|
|
618
|
-
formato_da_resposta: "json",
|
|
619
|
-
}, opcoes_da_chamada);
|
|
620
|
-
}
|
|
621
|
-
/**
|
|
622
|
-
* Cria um perfil de acesso
|
|
623
|
-
*
|
|
624
|
-
* Exige a permissão `criar` da área `colaboradores`. O perfil de acesso é o conjunto de permissões que o TermoTracing dá a um colaborador: cada colaborador aponta para um perfil (`PATCH /colaborador/{id}/perfil_acesso`) e enxerga o que o perfil libera. `nome` é obrigatório (até 80 caracteres, único sem diferenciar maiúsculas); `descricao` é opcional (até 200); `permissoes` traz, para cada área (`rastreamento`, `aplicativos`, `colaboradores`), as ações `ler`, `criar`, `editar` e `deletar` (o que não vier fica `false`). A resposta inclui `colaboradores`, quantas pessoas usam o perfil. O master do TermoAuth tem tudo liberado sem precisar de perfil.
|
|
625
|
-
*
|
|
626
|
-
* `POST /perfil_acesso`
|
|
627
|
-
*/
|
|
628
|
-
export function criar_perfil_acesso(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
629
|
-
return chamar_servico({
|
|
630
|
-
servico: SERVICO_DESTA_API,
|
|
631
|
-
metodo_http: "POST",
|
|
632
|
-
caminho_da_rota: "/perfil_acesso",
|
|
633
|
-
credencial_de_acesso,
|
|
634
|
-
corpo_json: corpo_da_requisicao,
|
|
635
|
-
formato_da_resposta: "json",
|
|
636
|
-
}, opcoes_da_chamada);
|
|
637
|
-
}
|
|
638
|
-
/**
|
|
639
|
-
* Lista básica de perfis de acesso para seleção
|
|
640
|
-
*
|
|
641
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Devolve só o id e o nome, em ordem alfabética. `busca` procura por trecho do 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. `total` conta os registros que casam com a busca.
|
|
642
|
-
*
|
|
643
|
-
* `GET /perfil_acesso/autocomplete`
|
|
644
|
-
*/
|
|
645
|
-
export function buscar_auto_complete_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
646
|
-
return chamar_servico({
|
|
647
|
-
servico: SERVICO_DESTA_API,
|
|
648
|
-
metodo_http: "GET",
|
|
649
|
-
caminho_da_rota: "/perfil_acesso/autocomplete",
|
|
650
|
-
credencial_de_acesso,
|
|
651
|
-
parametros_de_consulta: parametros,
|
|
652
|
-
formato_da_resposta: "json",
|
|
653
|
-
}, opcoes_da_chamada);
|
|
654
|
-
}
|
|
655
|
-
/**
|
|
656
|
-
* Busca perfis de acesso por filtro
|
|
657
|
-
*
|
|
658
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Devolve todos os perfis que casam com o filtro, sem paginação, em ordem alfabética de nome. `nome` procura por trecho, sem diferenciar maiúsculas. Sem filtro, devolve todos (é o que a tela usa para listar e para escolher o perfil de um colaborador).
|
|
659
|
-
*
|
|
660
|
-
* `GET /perfil_acesso/filtro`
|
|
661
|
-
*/
|
|
662
|
-
export function buscar_pelo_filtro_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
663
|
-
return chamar_servico({
|
|
664
|
-
servico: SERVICO_DESTA_API,
|
|
665
|
-
metodo_http: "GET",
|
|
666
|
-
caminho_da_rota: "/perfil_acesso/filtro",
|
|
667
|
-
credencial_de_acesso,
|
|
668
|
-
parametros_de_consulta: parametros,
|
|
669
|
-
formato_da_resposta: "json",
|
|
670
|
-
}, opcoes_da_chamada);
|
|
671
|
-
}
|
|
672
|
-
/**
|
|
673
|
-
* Busca um perfil de acesso pelo id
|
|
674
|
-
*
|
|
675
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Perfil excluído responde `404`.
|
|
676
|
-
*
|
|
677
|
-
* `GET /perfil_acesso/{id}`
|
|
678
|
-
*/
|
|
679
|
-
export function buscar_pelo_id_perfil_acesso(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
680
|
-
return chamar_servico({
|
|
681
|
-
servico: SERVICO_DESTA_API,
|
|
682
|
-
metodo_http: "GET",
|
|
683
|
-
caminho_da_rota: `/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
|
|
684
|
-
credencial_de_acesso,
|
|
685
|
-
formato_da_resposta: "json",
|
|
686
|
-
}, opcoes_da_chamada);
|
|
687
|
-
}
|
|
688
|
-
/**
|
|
689
|
-
* Atualiza um perfil de acesso pelo id
|
|
690
|
-
*
|
|
691
|
-
* Exige a permissão `editar` da área `colaboradores`. Atualização parcial: só os campos enviados mudam. `nome` segue o limite do cadastro; `descricao` vazia apaga o valor; `permissoes`, quando enviado, substitui o conjunto inteiro (o que não vier fica `false`). Todo colaborador do perfil passa a valer com as novas permissões em até 5 minutos (cache do acesso).
|
|
692
|
-
*
|
|
693
|
-
* `PATCH /perfil_acesso/{id}`
|
|
694
|
-
*/
|
|
695
|
-
export function atualizar_pelo_id_perfil_acesso(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
696
|
-
return chamar_servico({
|
|
697
|
-
servico: SERVICO_DESTA_API,
|
|
698
|
-
metodo_http: "PATCH",
|
|
699
|
-
caminho_da_rota: `/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
|
|
700
|
-
credencial_de_acesso,
|
|
701
|
-
corpo_json: corpo_da_requisicao,
|
|
702
|
-
formato_da_resposta: "json",
|
|
703
|
-
}, opcoes_da_chamada);
|
|
704
|
-
}
|
|
705
|
-
/**
|
|
706
|
-
* Exclui um perfil de acesso pelo id
|
|
707
|
-
*
|
|
708
|
-
* Exige a permissão `deletar` da área `colaboradores`. A exclusão é lógica e só é aceita quando nenhum colaborador usa o perfil: com gente vinculada responde `409`, e é preciso trocar o perfil dessas pessoas antes.
|
|
709
|
-
*
|
|
710
|
-
* `DELETE /perfil_acesso/{id}`
|
|
711
|
-
*/
|
|
712
|
-
export function deletar_pelo_id_perfil_acesso(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
713
|
-
return chamar_servico({
|
|
714
|
-
servico: SERVICO_DESTA_API,
|
|
715
|
-
metodo_http: "DELETE",
|
|
716
|
-
caminho_da_rota: `/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
|
|
717
|
-
credencial_de_acesso,
|
|
718
|
-
formato_da_resposta: "sem_conteudo",
|
|
719
|
-
}, opcoes_da_chamada);
|
|
720
|
-
}
|
|
721
338
|
/**
|
|
722
339
|
* Lista as sessões paginadas
|
|
723
340
|
*
|
|
@@ -835,21 +452,6 @@ export function deletar_pelo_id_sessao(credencial_de_acesso, id, opcoes_da_chama
|
|
|
835
452
|
formato_da_resposta: "sem_conteudo",
|
|
836
453
|
}, opcoes_da_chamada);
|
|
837
454
|
}
|
|
838
|
-
/**
|
|
839
|
-
* Verifica se o backend está no ar
|
|
840
|
-
*
|
|
841
|
-
* Pública, sem token e sem chave de aplicativo. Responde `200` com `sucesso: true`, `mensagem` e `versao` (a versão do backend no ar, em semver) sempre que o servidor está de pé; não consulta o banco nem o TermoAuth. É a rota que o deploy consulta depois de reiniciar o serviço.
|
|
842
|
-
*
|
|
843
|
-
* `GET /test`
|
|
844
|
-
*/
|
|
845
|
-
export function verificar_saude_test(opcoes_da_chamada) {
|
|
846
|
-
return chamar_servico({
|
|
847
|
-
servico: SERVICO_DESTA_API,
|
|
848
|
-
metodo_http: "GET",
|
|
849
|
-
caminho_da_rota: "/test",
|
|
850
|
-
formato_da_resposta: "json",
|
|
851
|
-
}, opcoes_da_chamada);
|
|
852
|
-
}
|
|
853
455
|
/**
|
|
854
456
|
* Lista os registros de uso paginados
|
|
855
457
|
*
|
|
@@ -967,20 +569,3 @@ export function deletar_pelo_id_uso(credencial_de_acesso, id, opcoes_da_chamada)
|
|
|
967
569
|
formato_da_resposta: "sem_conteudo",
|
|
968
570
|
}, opcoes_da_chamada);
|
|
969
571
|
}
|
|
970
|
-
/**
|
|
971
|
-
* Recebe as entregas do TermoWebhook
|
|
972
|
-
*
|
|
973
|
-
* Pública, sem token do usuário: é chamada pelo TermoWebhook, o hub de eventos da Termotubos, para entregar os eventos que o TermoTracing assina. A entrega é conferida pela assinatura Ed25519 do hub (chave pública em `/.well-known/jwks.json` do TermoWebhook), pela data e pelo destino, que precisa ser o próprio TermoTracing. Eventos tratados: `colaborador.criado` e `colaborador.atualizado`, versões 1 e 2, publicados pelo TermoAuth: criam ou atualizam o colaborador e o acesso dele (a v2 também traz setor, cargo e função), descartando o evento mais antigo que o último aplicado. Qualquer outro tipo responde `200` sem fazer nada. Como o hub entrega pelo menos uma vez, repetir o mesmo evento é seguro.
|
|
974
|
-
*
|
|
975
|
-
* `POST /webhooks/termowebhook`
|
|
976
|
-
*/
|
|
977
|
-
export function receber_evento_termo_webhook_webhooks(parametros, corpo_da_requisicao, opcoes_da_chamada) {
|
|
978
|
-
return chamar_servico({
|
|
979
|
-
servico: SERVICO_DESTA_API,
|
|
980
|
-
metodo_http: "POST",
|
|
981
|
-
caminho_da_rota: "/webhooks/termowebhook",
|
|
982
|
-
cabecalhos: { "X-TermoWebhook-Data": parametros["X-TermoWebhook-Data"], "X-TermoWebhook-Chave": parametros["X-TermoWebhook-Chave"], "X-TermoWebhook-Destino": parametros["X-TermoWebhook-Destino"], "X-TermoWebhook-Assinatura": parametros["X-TermoWebhook-Assinatura"] },
|
|
983
|
-
corpo_json: corpo_da_requisicao,
|
|
984
|
-
formato_da_resposta: "sem_conteudo",
|
|
985
|
-
}, opcoes_da_chamada);
|
|
986
|
-
}
|