termo_core 0.1.3 → 0.1.5
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/flow/rotas.d.ts +0 -849
- package/dist/flow/rotas.js +0 -1178
- package/dist/flow/tipos.d.ts +0 -688
- 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 +97 -454
- package/dist/portal/rotas.js +102 -617
- package/dist/portal/tipos.d.ts +159 -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/ai/rotas.js
CHANGED
|
@@ -1,37 +1,6 @@
|
|
|
1
1
|
// Gerado pelo gerador do TermoCore (`cargo run -p gerador`). Não edite à mão: a próxima geração sobrescreve.
|
|
2
2
|
import { chamar_servico, codificar_parametro_de_caminho } from "../base/requisicao.js";
|
|
3
3
|
import { TERMO_AI as SERVICO_DESTA_API } from "../base/servicos.js";
|
|
4
|
-
/**
|
|
5
|
-
* Versão do backend no ar
|
|
6
|
-
*
|
|
7
|
-
* Pública, sem token. Devolve `sucesso: true` e a versão do backend que está publicada, no formato semver.
|
|
8
|
-
*
|
|
9
|
-
* `GET /`
|
|
10
|
-
*/
|
|
11
|
-
export function buscar_versao_test(opcoes_da_chamada) {
|
|
12
|
-
return chamar_servico({
|
|
13
|
-
servico: SERVICO_DESTA_API,
|
|
14
|
-
metodo_http: "GET",
|
|
15
|
-
caminho_da_rota: "/",
|
|
16
|
-
formato_da_resposta: "json",
|
|
17
|
-
}, opcoes_da_chamada);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Busca o acesso de quem está logado
|
|
21
|
-
*
|
|
22
|
-
* 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 e se é master do TermoAuth), o nome do perfil de acesso (`perfil_acesso`, `null` sem perfil) e as permissões por área (`gateway`, `conversas`, `colaboradores` e `configuracoes`), 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.
|
|
23
|
-
*
|
|
24
|
-
* `GET /auth/acesso`
|
|
25
|
-
*/
|
|
26
|
-
export function buscar_acesso_auth(credencial_de_acesso, opcoes_da_chamada) {
|
|
27
|
-
return chamar_servico({
|
|
28
|
-
servico: SERVICO_DESTA_API,
|
|
29
|
-
metodo_http: "GET",
|
|
30
|
-
caminho_da_rota: "/auth/acesso",
|
|
31
|
-
credencial_de_acesso,
|
|
32
|
-
formato_da_resposta: "json",
|
|
33
|
-
}, opcoes_da_chamada);
|
|
34
|
-
}
|
|
35
4
|
/**
|
|
36
5
|
* Lista as chaves de IA paginadas
|
|
37
6
|
*
|
|
@@ -199,240 +168,6 @@ export function buscar_pelo_filtro_chave_ia_uso(credencial_de_acesso, parametros
|
|
|
199
168
|
formato_da_resposta: "json",
|
|
200
169
|
}, opcoes_da_chamada);
|
|
201
170
|
}
|
|
202
|
-
/**
|
|
203
|
-
* Lista os colaboradores com paginação
|
|
204
|
-
*
|
|
205
|
-
* 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 TermoAI busca no TermoAuth os colaboradores `@termotubos.com.br` que ainda não existem aqui e os cadastra sem perfil de acesso (sem nenhuma permissão). `nome` e `cargo` procuram por trecho, sem diferenciar maiúsculas, e `ativo` filtra pela situação. `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 o filtro.
|
|
206
|
-
*
|
|
207
|
-
* `GET /colaborador`
|
|
208
|
-
*/
|
|
209
|
-
export function buscar_paginador_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
210
|
-
return chamar_servico({
|
|
211
|
-
servico: SERVICO_DESTA_API,
|
|
212
|
-
metodo_http: "GET",
|
|
213
|
-
caminho_da_rota: "/colaborador",
|
|
214
|
-
credencial_de_acesso,
|
|
215
|
-
parametros_de_consulta: parametros,
|
|
216
|
-
formato_da_resposta: "json",
|
|
217
|
-
}, opcoes_da_chamada);
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* Lista básica de colaboradores para seleção
|
|
221
|
-
*
|
|
222
|
-
* 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.
|
|
223
|
-
*
|
|
224
|
-
* `GET /colaborador/autocomplete`
|
|
225
|
-
*/
|
|
226
|
-
export function buscar_auto_complete_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
227
|
-
return chamar_servico({
|
|
228
|
-
servico: SERVICO_DESTA_API,
|
|
229
|
-
metodo_http: "GET",
|
|
230
|
-
caminho_da_rota: "/colaborador/autocomplete",
|
|
231
|
-
credencial_de_acesso,
|
|
232
|
-
parametros_de_consulta: parametros,
|
|
233
|
-
formato_da_resposta: "json",
|
|
234
|
-
}, opcoes_da_chamada);
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Busca colaboradores por filtro
|
|
238
|
-
*
|
|
239
|
-
* 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; `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 com o TermoAuth) e só o perfil de acesso muda.
|
|
240
|
-
*
|
|
241
|
-
* `GET /colaborador/filtro`
|
|
242
|
-
*/
|
|
243
|
-
export function buscar_pelo_filtro_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
244
|
-
return chamar_servico({
|
|
245
|
-
servico: SERVICO_DESTA_API,
|
|
246
|
-
metodo_http: "GET",
|
|
247
|
-
caminho_da_rota: "/colaborador/filtro",
|
|
248
|
-
credencial_de_acesso,
|
|
249
|
-
parametros_de_consulta: parametros,
|
|
250
|
-
formato_da_resposta: "json",
|
|
251
|
-
}, opcoes_da_chamada);
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Busca um colaborador pelo id
|
|
255
|
-
*
|
|
256
|
-
* 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 com o TermoAuth) e só o perfil de acesso muda.
|
|
257
|
-
*
|
|
258
|
-
* `GET /colaborador/{id}`
|
|
259
|
-
*/
|
|
260
|
-
export function buscar_pelo_id_colaborador(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
261
|
-
return chamar_servico({
|
|
262
|
-
servico: SERVICO_DESTA_API,
|
|
263
|
-
metodo_http: "GET",
|
|
264
|
-
caminho_da_rota: `/colaborador/${codificar_parametro_de_caminho(id)}`,
|
|
265
|
-
credencial_de_acesso,
|
|
266
|
-
formato_da_resposta: "json",
|
|
267
|
-
}, opcoes_da_chamada);
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Define o perfil de acesso de um colaborador
|
|
271
|
-
*
|
|
272
|
-
* Exige a permissão `editar` da área `colaboradores`. É a única escrita do colaborador feita pelo TermoAI: `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).
|
|
273
|
-
*
|
|
274
|
-
* `PATCH /colaborador/{id}/perfil_acesso`
|
|
275
|
-
*/
|
|
276
|
-
export function vincular_perfil_acesso_colaborador(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
277
|
-
return chamar_servico({
|
|
278
|
-
servico: SERVICO_DESTA_API,
|
|
279
|
-
metodo_http: "PATCH",
|
|
280
|
-
caminho_da_rota: `/colaborador/${codificar_parametro_de_caminho(id)}/perfil_acesso`,
|
|
281
|
-
credencial_de_acesso,
|
|
282
|
-
corpo_json: corpo_da_requisicao,
|
|
283
|
-
formato_da_resposta: "json",
|
|
284
|
-
}, opcoes_da_chamada);
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* Lista as regras do gateway paginadas
|
|
288
|
-
*
|
|
289
|
-
* Exige qualquer permissão da área `configuracoes` (qualquer ação liberada na área já libera a leitura). Lista as configurações não excluídas na ordem de cadastro. `pagina` começa em 1 (padrão 1) e `tamanho` tem padrão 10, sem máximo; valores menores que 1 viram 1. `total` é a quantidade de configurações não excluídas.
|
|
290
|
-
*
|
|
291
|
-
* `GET /config_system_gateway`
|
|
292
|
-
*/
|
|
293
|
-
export function buscar_paginador_config_system_gateway(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
294
|
-
return chamar_servico({
|
|
295
|
-
servico: SERVICO_DESTA_API,
|
|
296
|
-
metodo_http: "GET",
|
|
297
|
-
caminho_da_rota: "/config_system_gateway",
|
|
298
|
-
credencial_de_acesso,
|
|
299
|
-
parametros_de_consulta: parametros,
|
|
300
|
-
formato_da_resposta: "json",
|
|
301
|
-
}, opcoes_da_chamada);
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* Cadastra as regras do gateway de uma categoria
|
|
305
|
-
*
|
|
306
|
-
* Exige a permissão `criar` da área `configuracoes`. Define como `POST /gateway` atende uma categoria: `tempo_limite_segundos` por tentativa (5 a 600), `prazo_total_segundos` do pedido (5 a 1800, maior ou igual ao tempo por tentativa), `maximo_tentativas` (1 a 50) e quanto tempo uma chave fica pausada depois de uma falha comum (`espera_falha_segundos`, 0 a 86400), de estourar o limite por minuto (`espera_limite_segundos`, 1 a 86400), de esgotar a cota diária (`espera_cota_diaria_segundos`, 1 a 86400) e de ter a chave recusada (`espera_chave_invalida_segundos`, 1 a 86400). `categoria` é obrigatória (`texto_para_texto`, `imagem_para_texto`, `texto_para_imagem`, `audio_para_texto`, `texto_para_audio`, `video_para_texto` ou `texto_para_video`) e só pode ter uma configuração; campo não enviado assume o padrão da categoria. Sem configuração, o gateway usa os padrões.
|
|
307
|
-
*
|
|
308
|
-
* `POST /config_system_gateway`
|
|
309
|
-
*/
|
|
310
|
-
export function criar_config_system_gateway(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
311
|
-
return chamar_servico({
|
|
312
|
-
servico: SERVICO_DESTA_API,
|
|
313
|
-
metodo_http: "POST",
|
|
314
|
-
caminho_da_rota: "/config_system_gateway",
|
|
315
|
-
credencial_de_acesso,
|
|
316
|
-
corpo_json: corpo_da_requisicao,
|
|
317
|
-
formato_da_resposta: "json",
|
|
318
|
-
}, opcoes_da_chamada);
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Lista básica das regras do gateway para seleção
|
|
322
|
-
*
|
|
323
|
-
* Exige qualquer permissão da área `configuracoes` (qualquer ação liberada na área já libera a leitura). Devolve só id e categoria, em ordem alfabética da categoria, sem as excluídas. `busca` procura o trecho no nome da categoria. `pagina` começa em 1 (padrão 1) e `tamanho` tem padrão 10.
|
|
324
|
-
*
|
|
325
|
-
* `GET /config_system_gateway/autocomplete`
|
|
326
|
-
*/
|
|
327
|
-
export function buscar_auto_complete_config_system_gateway(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
328
|
-
return chamar_servico({
|
|
329
|
-
servico: SERVICO_DESTA_API,
|
|
330
|
-
metodo_http: "GET",
|
|
331
|
-
caminho_da_rota: "/config_system_gateway/autocomplete",
|
|
332
|
-
credencial_de_acesso,
|
|
333
|
-
parametros_de_consulta: parametros,
|
|
334
|
-
formato_da_resposta: "json",
|
|
335
|
-
}, opcoes_da_chamada);
|
|
336
|
-
}
|
|
337
|
-
/**
|
|
338
|
-
* Busca as regras do gateway por categoria
|
|
339
|
-
*
|
|
340
|
-
* Exige qualquer permissão da área `configuracoes` (qualquer ação liberada na área já libera a leitura). Devolve as configurações não excluídas, sem paginação, na ordem de cadastro. `categoria` precisa ser igual ao nome da categoria (por exemplo `texto_para_texto`); sem filtro, devolve todas.
|
|
341
|
-
*
|
|
342
|
-
* `GET /config_system_gateway/filtro`
|
|
343
|
-
*/
|
|
344
|
-
export function buscar_pelo_filtro_config_system_gateway(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
345
|
-
return chamar_servico({
|
|
346
|
-
servico: SERVICO_DESTA_API,
|
|
347
|
-
metodo_http: "GET",
|
|
348
|
-
caminho_da_rota: "/config_system_gateway/filtro",
|
|
349
|
-
credencial_de_acesso,
|
|
350
|
-
parametros_de_consulta: parametros,
|
|
351
|
-
formato_da_resposta: "json",
|
|
352
|
-
}, opcoes_da_chamada);
|
|
353
|
-
}
|
|
354
|
-
/**
|
|
355
|
-
* Busca as regras do gateway pelo id
|
|
356
|
-
*
|
|
357
|
-
* Exige qualquer permissão da área `configuracoes` (qualquer ação liberada na área já libera a leitura). Devolve a configuração do gateway de uma categoria, com os tempos em segundos. Configuração excluída não é encontrada.
|
|
358
|
-
*
|
|
359
|
-
* `GET /config_system_gateway/{id}`
|
|
360
|
-
*/
|
|
361
|
-
export function buscar_pelo_id_config_system_gateway(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
362
|
-
return chamar_servico({
|
|
363
|
-
servico: SERVICO_DESTA_API,
|
|
364
|
-
metodo_http: "GET",
|
|
365
|
-
caminho_da_rota: `/config_system_gateway/${codificar_parametro_de_caminho(id)}`,
|
|
366
|
-
credencial_de_acesso,
|
|
367
|
-
formato_da_resposta: "json",
|
|
368
|
-
}, opcoes_da_chamada);
|
|
369
|
-
}
|
|
370
|
-
/**
|
|
371
|
-
* Atualiza as regras do gateway pelo id
|
|
372
|
-
*
|
|
373
|
-
* Exige a permissão `editar` da área `configuracoes`. Atualização parcial: só os tempos enviados mudam, nas mesmas faixas do cadastro, e o prazo total continua maior ou igual ao tempo por tentativa. A categoria não muda.
|
|
374
|
-
*
|
|
375
|
-
* `PATCH /config_system_gateway/{id}`
|
|
376
|
-
*/
|
|
377
|
-
export function atualizar_pelo_id_config_system_gateway(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
378
|
-
return chamar_servico({
|
|
379
|
-
servico: SERVICO_DESTA_API,
|
|
380
|
-
metodo_http: "PATCH",
|
|
381
|
-
caminho_da_rota: `/config_system_gateway/${codificar_parametro_de_caminho(id)}`,
|
|
382
|
-
credencial_de_acesso,
|
|
383
|
-
corpo_json: corpo_da_requisicao,
|
|
384
|
-
formato_da_resposta: "json",
|
|
385
|
-
}, opcoes_da_chamada);
|
|
386
|
-
}
|
|
387
|
-
/**
|
|
388
|
-
* Exclui as regras do gateway pelo id
|
|
389
|
-
*
|
|
390
|
-
* Exige a permissão `deletar` da área `configuracoes`. Exclusão lógica: a categoria volta a usar as regras padrão do gateway e pode ganhar uma configuração nova. Excluir de novo responde `404`.
|
|
391
|
-
*
|
|
392
|
-
* `DELETE /config_system_gateway/{id}`
|
|
393
|
-
*/
|
|
394
|
-
export function deletar_pelo_id_config_system_gateway(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
395
|
-
return chamar_servico({
|
|
396
|
-
servico: SERVICO_DESTA_API,
|
|
397
|
-
metodo_http: "DELETE",
|
|
398
|
-
caminho_da_rota: `/config_system_gateway/${codificar_parametro_de_caminho(id)}`,
|
|
399
|
-
credencial_de_acesso,
|
|
400
|
-
formato_da_resposta: "sem_conteudo",
|
|
401
|
-
}, opcoes_da_chamada);
|
|
402
|
-
}
|
|
403
|
-
/**
|
|
404
|
-
* Busca a configuração do app (segredo do TermoAuth)
|
|
405
|
-
*
|
|
406
|
-
* Só para master do TermoAuth. Devolve se o segredo do app gerado no TermoAuth (`segredo_do_app_gerado_no_termo_auth`) está cadastrado e os 4 últimos caracteres mascarados, nunca o valor. O segredo fica cifrado no banco com AES-256-GCM (chave derivada de `GLOBAL_SECRET_CRIPTOGRAFIA`); sem essa variável no servidor, `criptografia_configurada` vem `false` e o segredo aparece como não configurado.
|
|
407
|
-
*
|
|
408
|
-
* `GET /configuracao`
|
|
409
|
-
*/
|
|
410
|
-
export function buscar_pelo_id_configuracao(credencial_de_acesso, opcoes_da_chamada) {
|
|
411
|
-
return chamar_servico({
|
|
412
|
-
servico: SERVICO_DESTA_API,
|
|
413
|
-
metodo_http: "GET",
|
|
414
|
-
caminho_da_rota: "/configuracao",
|
|
415
|
-
credencial_de_acesso,
|
|
416
|
-
formato_da_resposta: "json",
|
|
417
|
-
}, opcoes_da_chamada);
|
|
418
|
-
}
|
|
419
|
-
/**
|
|
420
|
-
* Grava o segredo do app gerado no TermoAuth
|
|
421
|
-
*
|
|
422
|
-
* Só para master do TermoAuth. Campo ausente não muda, string troca o segredo (até 2.000 caracteres, sem quebra de linha) e `null` limpa. O valor é cifrado antes de ir ao banco e entregue na hora ao `termo_core`, sem deploy.
|
|
423
|
-
*
|
|
424
|
-
* `PATCH /configuracao`
|
|
425
|
-
*/
|
|
426
|
-
export function atualizar_pelo_id_configuracao(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
427
|
-
return chamar_servico({
|
|
428
|
-
servico: SERVICO_DESTA_API,
|
|
429
|
-
metodo_http: "PATCH",
|
|
430
|
-
caminho_da_rota: "/configuracao",
|
|
431
|
-
credencial_de_acesso,
|
|
432
|
-
corpo_json: corpo_da_requisicao,
|
|
433
|
-
formato_da_resposta: "json",
|
|
434
|
-
}, opcoes_da_chamada);
|
|
435
|
-
}
|
|
436
171
|
/**
|
|
437
172
|
* Lista as conversas paginadas
|
|
438
173
|
*
|
|
@@ -600,123 +335,6 @@ export function chave_ia_buscar_modelos(credencial_de_acesso, parametros = {}, o
|
|
|
600
335
|
formato_da_resposta: "json",
|
|
601
336
|
}, opcoes_da_chamada);
|
|
602
337
|
}
|
|
603
|
-
/**
|
|
604
|
-
* Lista os perfis de acesso com paginação
|
|
605
|
-
*
|
|
606
|
-
* 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) e `tamanho` tem padrão 10, sem máximo; valores menores que 1 viram 1. `total` conta todos os registros não excluídos.
|
|
607
|
-
*
|
|
608
|
-
* `GET /perfil_acesso`
|
|
609
|
-
*/
|
|
610
|
-
export function buscar_paginador_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
611
|
-
return chamar_servico({
|
|
612
|
-
servico: SERVICO_DESTA_API,
|
|
613
|
-
metodo_http: "GET",
|
|
614
|
-
caminho_da_rota: "/perfil_acesso",
|
|
615
|
-
credencial_de_acesso,
|
|
616
|
-
parametros_de_consulta: parametros,
|
|
617
|
-
formato_da_resposta: "json",
|
|
618
|
-
}, opcoes_da_chamada);
|
|
619
|
-
}
|
|
620
|
-
/**
|
|
621
|
-
* Cria um perfil de acesso
|
|
622
|
-
*
|
|
623
|
-
* Exige a permissão `criar` da área `colaboradores`. O perfil de acesso é o conjunto de permissões que o TermoAI 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 (`gateway`, `conversas`, `colaboradores`, `configuracoes`), 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.
|
|
624
|
-
*
|
|
625
|
-
* `POST /perfil_acesso`
|
|
626
|
-
*/
|
|
627
|
-
export function criar_perfil_acesso(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
628
|
-
return chamar_servico({
|
|
629
|
-
servico: SERVICO_DESTA_API,
|
|
630
|
-
metodo_http: "POST",
|
|
631
|
-
caminho_da_rota: "/perfil_acesso",
|
|
632
|
-
credencial_de_acesso,
|
|
633
|
-
corpo_json: corpo_da_requisicao,
|
|
634
|
-
formato_da_resposta: "json",
|
|
635
|
-
}, opcoes_da_chamada);
|
|
636
|
-
}
|
|
637
|
-
/**
|
|
638
|
-
* Lista básica de perfis de acesso para seleção
|
|
639
|
-
*
|
|
640
|
-
* 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.
|
|
641
|
-
*
|
|
642
|
-
* `GET /perfil_acesso/autocomplete`
|
|
643
|
-
*/
|
|
644
|
-
export function buscar_auto_complete_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
645
|
-
return chamar_servico({
|
|
646
|
-
servico: SERVICO_DESTA_API,
|
|
647
|
-
metodo_http: "GET",
|
|
648
|
-
caminho_da_rota: "/perfil_acesso/autocomplete",
|
|
649
|
-
credencial_de_acesso,
|
|
650
|
-
parametros_de_consulta: parametros,
|
|
651
|
-
formato_da_resposta: "json",
|
|
652
|
-
}, opcoes_da_chamada);
|
|
653
|
-
}
|
|
654
|
-
/**
|
|
655
|
-
* Busca perfis de acesso por filtro
|
|
656
|
-
*
|
|
657
|
-
* 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).
|
|
658
|
-
*
|
|
659
|
-
* `GET /perfil_acesso/filtro`
|
|
660
|
-
*/
|
|
661
|
-
export function buscar_pelo_filtro_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
662
|
-
return chamar_servico({
|
|
663
|
-
servico: SERVICO_DESTA_API,
|
|
664
|
-
metodo_http: "GET",
|
|
665
|
-
caminho_da_rota: "/perfil_acesso/filtro",
|
|
666
|
-
credencial_de_acesso,
|
|
667
|
-
parametros_de_consulta: parametros,
|
|
668
|
-
formato_da_resposta: "json",
|
|
669
|
-
}, opcoes_da_chamada);
|
|
670
|
-
}
|
|
671
|
-
/**
|
|
672
|
-
* Busca um perfil de acesso pelo id
|
|
673
|
-
*
|
|
674
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Perfil excluído responde `404`.
|
|
675
|
-
*
|
|
676
|
-
* `GET /perfil_acesso/{id}`
|
|
677
|
-
*/
|
|
678
|
-
export function buscar_pelo_id_perfil_acesso(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
679
|
-
return chamar_servico({
|
|
680
|
-
servico: SERVICO_DESTA_API,
|
|
681
|
-
metodo_http: "GET",
|
|
682
|
-
caminho_da_rota: `/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
|
|
683
|
-
credencial_de_acesso,
|
|
684
|
-
formato_da_resposta: "json",
|
|
685
|
-
}, opcoes_da_chamada);
|
|
686
|
-
}
|
|
687
|
-
/**
|
|
688
|
-
* Atualiza um perfil de acesso pelo id
|
|
689
|
-
*
|
|
690
|
-
* 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).
|
|
691
|
-
*
|
|
692
|
-
* `PATCH /perfil_acesso/{id}`
|
|
693
|
-
*/
|
|
694
|
-
export function atualizar_pelo_id_perfil_acesso(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
695
|
-
return chamar_servico({
|
|
696
|
-
servico: SERVICO_DESTA_API,
|
|
697
|
-
metodo_http: "PATCH",
|
|
698
|
-
caminho_da_rota: `/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
|
|
699
|
-
credencial_de_acesso,
|
|
700
|
-
corpo_json: corpo_da_requisicao,
|
|
701
|
-
formato_da_resposta: "json",
|
|
702
|
-
}, opcoes_da_chamada);
|
|
703
|
-
}
|
|
704
|
-
/**
|
|
705
|
-
* Exclui um perfil de acesso pelo id
|
|
706
|
-
*
|
|
707
|
-
* 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.
|
|
708
|
-
*
|
|
709
|
-
* `DELETE /perfil_acesso/{id}`
|
|
710
|
-
*/
|
|
711
|
-
export function deletar_pelo_id_perfil_acesso(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
712
|
-
return chamar_servico({
|
|
713
|
-
servico: SERVICO_DESTA_API,
|
|
714
|
-
metodo_http: "DELETE",
|
|
715
|
-
caminho_da_rota: `/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
|
|
716
|
-
credencial_de_acesso,
|
|
717
|
-
formato_da_resposta: "sem_conteudo",
|
|
718
|
-
}, opcoes_da_chamada);
|
|
719
|
-
}
|
|
720
338
|
/**
|
|
721
339
|
* Lista os preços de modelos paginados
|
|
722
340
|
*
|
|
@@ -834,18 +452,3 @@ export function deletar_pelo_id_preco_modelo(credencial_de_acesso, id, opcoes_da
|
|
|
834
452
|
formato_da_resposta: "sem_conteudo",
|
|
835
453
|
}, opcoes_da_chamada);
|
|
836
454
|
}
|
|
837
|
-
/**
|
|
838
|
-
* Verifica se o backend está no ar
|
|
839
|
-
*
|
|
840
|
-
* Pública, sem token. Responde `200` com `sucesso: true` sempre que o servidor está de pé; não consulta o banco nem o TermoAuth.
|
|
841
|
-
*
|
|
842
|
-
* `GET /test`
|
|
843
|
-
*/
|
|
844
|
-
export function verificar_saude_test(opcoes_da_chamada) {
|
|
845
|
-
return chamar_servico({
|
|
846
|
-
servico: SERVICO_DESTA_API,
|
|
847
|
-
metodo_http: "GET",
|
|
848
|
-
caminho_da_rota: "/test",
|
|
849
|
-
formato_da_resposta: "json",
|
|
850
|
-
}, opcoes_da_chamada);
|
|
851
|
-
}
|
package/dist/ai/tipos.d.ts
CHANGED
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
export interface AcessoAtual {
|
|
2
|
-
email: string;
|
|
3
|
-
id: string;
|
|
4
|
-
master: boolean;
|
|
5
|
-
nome: string;
|
|
6
|
-
perfil_acesso?: string | null;
|
|
7
|
-
permissoes: Permissoes;
|
|
8
|
-
}
|
|
9
|
-
export interface Acoes {
|
|
10
|
-
criar?: boolean;
|
|
11
|
-
deletar?: boolean;
|
|
12
|
-
editar?: boolean;
|
|
13
|
-
ler?: boolean;
|
|
14
|
-
}
|
|
15
1
|
export interface Arquivo {
|
|
16
2
|
base64: string;
|
|
17
3
|
tipo_mime: string;
|
|
@@ -153,59 +139,6 @@ export interface ChaveIaUsoTotais {
|
|
|
153
139
|
valor_economizado: number;
|
|
154
140
|
valor_gasto: number;
|
|
155
141
|
}
|
|
156
|
-
export interface Colaborador {
|
|
157
|
-
ativo: boolean;
|
|
158
|
-
atualizado_em: string;
|
|
159
|
-
auth_id: string;
|
|
160
|
-
cargo?: string | null;
|
|
161
|
-
criado_em: string;
|
|
162
|
-
email: string;
|
|
163
|
-
id: string;
|
|
164
|
-
master: boolean;
|
|
165
|
-
nome: string;
|
|
166
|
-
perfil_acesso?: string | null;
|
|
167
|
-
perfil_acesso_id?: string | null;
|
|
168
|
-
telefone?: string | null;
|
|
169
|
-
}
|
|
170
|
-
export interface ColaboradorAutoComplete {
|
|
171
|
-
email: string;
|
|
172
|
-
id: string;
|
|
173
|
-
nome: string;
|
|
174
|
-
}
|
|
175
|
-
export interface ColaboradorVincularPerfilAcesso {
|
|
176
|
-
perfil_acesso_id?: string | null;
|
|
177
|
-
}
|
|
178
|
-
export interface ConfigSystemGateway {
|
|
179
|
-
atualizado_em: string;
|
|
180
|
-
categoria: string;
|
|
181
|
-
criado_em: string;
|
|
182
|
-
espera_chave_invalida_segundos: number;
|
|
183
|
-
espera_cota_diaria_segundos: number;
|
|
184
|
-
espera_falha_segundos: number;
|
|
185
|
-
espera_limite_segundos: number;
|
|
186
|
-
id: string;
|
|
187
|
-
maximo_tentativas: number;
|
|
188
|
-
prazo_total_segundos: number;
|
|
189
|
-
tempo_limite_segundos: number;
|
|
190
|
-
}
|
|
191
|
-
export type ConfigSystemGatewayAtualizar = ValoresDoGateway;
|
|
192
|
-
export interface ConfigSystemGatewayAutoComplete {
|
|
193
|
-
categoria: string;
|
|
194
|
-
id: string;
|
|
195
|
-
}
|
|
196
|
-
export interface ConfigSystemGatewayCriarParte2 {
|
|
197
|
-
categoria: string;
|
|
198
|
-
}
|
|
199
|
-
export type ConfigSystemGatewayCriar = ValoresDoGateway & ConfigSystemGatewayCriarParte2;
|
|
200
|
-
export interface Configuracao {
|
|
201
|
-
atualizado_em: string;
|
|
202
|
-
atualizado_por?: string | null;
|
|
203
|
-
criptografia_configurada: boolean;
|
|
204
|
-
segredo_do_app_gerado_no_termo_auth: ValorProtegido;
|
|
205
|
-
}
|
|
206
|
-
export interface ConfiguracaoAtualizar {
|
|
207
|
-
segredo_do_app_gerado_no_termo_auth?: string | null;
|
|
208
|
-
}
|
|
209
142
|
export interface Consumo {
|
|
210
143
|
requisicoes_dia: number;
|
|
211
144
|
requisicoes_hora: number;
|
|
@@ -371,66 +304,6 @@ export interface PaginaChaveIaUso {
|
|
|
371
304
|
tamanho: number;
|
|
372
305
|
total: number;
|
|
373
306
|
}
|
|
374
|
-
export interface PaginaColaboradorItensItem {
|
|
375
|
-
ativo: boolean;
|
|
376
|
-
atualizado_em: string;
|
|
377
|
-
auth_id: string;
|
|
378
|
-
cargo?: string | null;
|
|
379
|
-
criado_em: string;
|
|
380
|
-
email: string;
|
|
381
|
-
id: string;
|
|
382
|
-
master: boolean;
|
|
383
|
-
nome: string;
|
|
384
|
-
perfil_acesso?: string | null;
|
|
385
|
-
perfil_acesso_id?: string | null;
|
|
386
|
-
telefone?: string | null;
|
|
387
|
-
}
|
|
388
|
-
export interface PaginaColaborador {
|
|
389
|
-
itens: Array<PaginaColaboradorItensItem>;
|
|
390
|
-
pagina: number;
|
|
391
|
-
tamanho: number;
|
|
392
|
-
total: number;
|
|
393
|
-
}
|
|
394
|
-
export interface PaginaColaboradorAutoCompleteItensItem {
|
|
395
|
-
email: string;
|
|
396
|
-
id: string;
|
|
397
|
-
nome: string;
|
|
398
|
-
}
|
|
399
|
-
export interface PaginaColaboradorAutoComplete {
|
|
400
|
-
itens: Array<PaginaColaboradorAutoCompleteItensItem>;
|
|
401
|
-
pagina: number;
|
|
402
|
-
tamanho: number;
|
|
403
|
-
total: number;
|
|
404
|
-
}
|
|
405
|
-
export interface PaginaConfigSystemGatewayItensItem {
|
|
406
|
-
atualizado_em: string;
|
|
407
|
-
categoria: string;
|
|
408
|
-
criado_em: string;
|
|
409
|
-
espera_chave_invalida_segundos: number;
|
|
410
|
-
espera_cota_diaria_segundos: number;
|
|
411
|
-
espera_falha_segundos: number;
|
|
412
|
-
espera_limite_segundos: number;
|
|
413
|
-
id: string;
|
|
414
|
-
maximo_tentativas: number;
|
|
415
|
-
prazo_total_segundos: number;
|
|
416
|
-
tempo_limite_segundos: number;
|
|
417
|
-
}
|
|
418
|
-
export interface PaginaConfigSystemGateway {
|
|
419
|
-
itens: Array<PaginaConfigSystemGatewayItensItem>;
|
|
420
|
-
pagina: number;
|
|
421
|
-
tamanho: number;
|
|
422
|
-
total: number;
|
|
423
|
-
}
|
|
424
|
-
export interface PaginaConfigSystemGatewayAutoCompleteItensItem {
|
|
425
|
-
categoria: string;
|
|
426
|
-
id: string;
|
|
427
|
-
}
|
|
428
|
-
export interface PaginaConfigSystemGatewayAutoComplete {
|
|
429
|
-
itens: Array<PaginaConfigSystemGatewayAutoCompleteItensItem>;
|
|
430
|
-
pagina: number;
|
|
431
|
-
tamanho: number;
|
|
432
|
-
total: number;
|
|
433
|
-
}
|
|
434
307
|
export interface PaginaConversaAutoCompleteItensItem {
|
|
435
308
|
id: string;
|
|
436
309
|
titulo: string;
|
|
@@ -459,31 +332,6 @@ export interface PaginaConversaResumo {
|
|
|
459
332
|
tamanho: number;
|
|
460
333
|
total: number;
|
|
461
334
|
}
|
|
462
|
-
export interface PaginaPerfilAcessoItensItem {
|
|
463
|
-
atualizado_em: string;
|
|
464
|
-
colaboradores: number;
|
|
465
|
-
criado_em: string;
|
|
466
|
-
descricao?: string | null;
|
|
467
|
-
id: string;
|
|
468
|
-
nome: string;
|
|
469
|
-
permissoes: Permissoes;
|
|
470
|
-
}
|
|
471
|
-
export interface PaginaPerfilAcesso {
|
|
472
|
-
itens: Array<PaginaPerfilAcessoItensItem>;
|
|
473
|
-
pagina: number;
|
|
474
|
-
tamanho: number;
|
|
475
|
-
total: number;
|
|
476
|
-
}
|
|
477
|
-
export interface PaginaPerfilAcessoAutoCompleteItensItem {
|
|
478
|
-
id: string;
|
|
479
|
-
nome: string;
|
|
480
|
-
}
|
|
481
|
-
export interface PaginaPerfilAcessoAutoComplete {
|
|
482
|
-
itens: Array<PaginaPerfilAcessoAutoCompleteItensItem>;
|
|
483
|
-
pagina: number;
|
|
484
|
-
tamanho: number;
|
|
485
|
-
total: number;
|
|
486
|
-
}
|
|
487
335
|
export interface PaginaPrecoModeloItensItem {
|
|
488
336
|
atualizado_em: string;
|
|
489
337
|
chaves: number;
|
|
@@ -525,35 +373,6 @@ export interface PedidoGateway {
|
|
|
525
373
|
texto?: string | null;
|
|
526
374
|
voz?: string | null;
|
|
527
375
|
}
|
|
528
|
-
export interface PerfilAcesso {
|
|
529
|
-
atualizado_em: string;
|
|
530
|
-
colaboradores: number;
|
|
531
|
-
criado_em: string;
|
|
532
|
-
descricao?: string | null;
|
|
533
|
-
id: string;
|
|
534
|
-
nome: string;
|
|
535
|
-
permissoes: Permissoes;
|
|
536
|
-
}
|
|
537
|
-
export interface PerfilAcessoAtualizar {
|
|
538
|
-
descricao?: string | null;
|
|
539
|
-
nome?: string | null;
|
|
540
|
-
permissoes?: Permissoes | null;
|
|
541
|
-
}
|
|
542
|
-
export interface PerfilAcessoAutoComplete {
|
|
543
|
-
id: string;
|
|
544
|
-
nome: string;
|
|
545
|
-
}
|
|
546
|
-
export interface PerfilAcessoCriar {
|
|
547
|
-
descricao?: string | null;
|
|
548
|
-
nome: string;
|
|
549
|
-
permissoes?: Permissoes;
|
|
550
|
-
}
|
|
551
|
-
export interface Permissoes {
|
|
552
|
-
colaboradores?: Acoes;
|
|
553
|
-
configuracoes?: Acoes;
|
|
554
|
-
conversas?: Acoes;
|
|
555
|
-
gateway?: Acoes;
|
|
556
|
-
}
|
|
557
376
|
export interface PrecoModelo {
|
|
558
377
|
atualizado_em: string;
|
|
559
378
|
chaves: number;
|
|
@@ -608,10 +427,6 @@ export interface RespostaDoGateway {
|
|
|
608
427
|
texto?: string | null;
|
|
609
428
|
tokens?: number | null;
|
|
610
429
|
}
|
|
611
|
-
export interface SaudeDoBackend {
|
|
612
|
-
mensagem: string;
|
|
613
|
-
sucesso: boolean;
|
|
614
|
-
}
|
|
615
430
|
export interface TentativaDaMensagem {
|
|
616
431
|
chave: string;
|
|
617
432
|
duracao_ms: number;
|
|
@@ -619,20 +434,3 @@ export interface TentativaDaMensagem {
|
|
|
619
434
|
modelo: string;
|
|
620
435
|
provedor: string;
|
|
621
436
|
}
|
|
622
|
-
export interface ValorProtegido {
|
|
623
|
-
configurado: boolean;
|
|
624
|
-
final_visivel?: string | null;
|
|
625
|
-
}
|
|
626
|
-
export interface ValoresDoGateway {
|
|
627
|
-
espera_chave_invalida_segundos?: number | null;
|
|
628
|
-
espera_cota_diaria_segundos?: number | null;
|
|
629
|
-
espera_falha_segundos?: number | null;
|
|
630
|
-
espera_limite_segundos?: number | null;
|
|
631
|
-
maximo_tentativas?: number | null;
|
|
632
|
-
prazo_total_segundos?: number | null;
|
|
633
|
-
tempo_limite_segundos?: number | null;
|
|
634
|
-
}
|
|
635
|
-
export interface VersaoDoBackend {
|
|
636
|
-
sucesso: boolean;
|
|
637
|
-
versao: string;
|
|
638
|
-
}
|
package/dist/auth/rotas.d.ts
CHANGED
|
@@ -317,14 +317,6 @@ export declare function buscar_pelo_id_setor(credencial_de_acesso: CredencialDeA
|
|
|
317
317
|
* `PATCH /setor/{id}`
|
|
318
318
|
*/
|
|
319
319
|
export declare function atualizar_pelo_id_setor(credencial_de_acesso: CredencialDeAcesso, id: string, corpo_da_requisicao: tipos.SetorAtualizar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Setor>;
|
|
320
|
-
/**
|
|
321
|
-
* Troca o segredo do app por um token de aplicativo
|
|
322
|
-
*
|
|
323
|
-
* Pública, sem token de usuário. O backend de um app manda o segredo gerado em `/master/apps` (cadastrado pelo master na tela de provedores do app e entregue ao `termo_core`) e recebe um JWT EdDSA de 15 minutos, assinado com a mesma chave do token de usuário (valide pelo `/.well-known/jwks.json`). Claims: `iss`, `aud`, `sub` (id do app), `iat`, `exp`, `tipo` = `aplicativo`, `name` (nome do app) e `isMaster` (falso quando o app aceita o perfil `cliente`). Vale só nas APIs de sistema dos outros apps, nunca no painel. Peça outro quando faltar menos de 60 s para `expira_em`.
|
|
324
|
-
*
|
|
325
|
-
* `POST /token_de_app`
|
|
326
|
-
*/
|
|
327
|
-
export declare function criar_token_de_app(corpo_da_requisicao: tipos.TokenDeAppCriar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.TokenDeAppEmitido>;
|
|
328
320
|
/**
|
|
329
321
|
* Lista usuários com paginação
|
|
330
322
|
*
|