termo_core 0.1.4 → 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/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 +46 -453
- package/dist/portal/rotas.js +36 -634
- package/dist/portal/tipos.d.ts +108 -313
- 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/intranet/rotas.js
CHANGED
|
@@ -1,170 +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_INTRANET 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
|
-
* Lista os acessos com paginação por cursor
|
|
21
|
-
*
|
|
22
|
-
* Exige qualquer permissão da área `colaboradores`. Ordena por perfil, depois por e-mail e por id, sempre 50 itens por página. Sem `cursor` vem a primeira página de acessos; para a seguinte, envie em `cursor` o `proximo_cursor` recebido (nulo na última página). O total de registros não vem aqui: está em `GET /auth/total`, para a lista não esperar o `count(*)`. Cursor de id inexistente devolve página vazia. Acessos excluídos não aparecem.
|
|
23
|
-
*
|
|
24
|
-
* `GET /auth`
|
|
25
|
-
*/
|
|
26
|
-
export function buscar_paginador_auth(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
27
|
-
return chamar_servico({
|
|
28
|
-
servico: SERVICO_DESTA_API,
|
|
29
|
-
metodo_http: "GET",
|
|
30
|
-
caminho_da_rota: "/auth",
|
|
31
|
-
credencial_de_acesso,
|
|
32
|
-
parametros_de_consulta: parametros,
|
|
33
|
-
formato_da_resposta: "json",
|
|
34
|
-
}, opcoes_da_chamada);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Cadastra um acesso
|
|
38
|
-
*
|
|
39
|
-
* Exige a permissão `criar` da área `colaboradores`. Cadastra quem pode entrar no TermoIntranetAPI: o e-mail é obrigatório, gravado em minúsculas e sem espaços nas pontas, com até 160 caracteres. O único perfil aceito é `colaborador`. O acesso nasce ativo e sem nenhuma permissão: as áreas vêm do perfil de acesso do colaborador (`PATCH /colaborador/{id}/perfil_acesso`). Para a pessoa conseguir entrar, o e-mail precisa ser `@termotubos.com.br` e existir no TermoAuth.
|
|
40
|
-
*
|
|
41
|
-
* `POST /auth`
|
|
42
|
-
*/
|
|
43
|
-
export function criar_auth(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
44
|
-
return chamar_servico({
|
|
45
|
-
servico: SERVICO_DESTA_API,
|
|
46
|
-
metodo_http: "POST",
|
|
47
|
-
caminho_da_rota: "/auth",
|
|
48
|
-
credencial_de_acesso,
|
|
49
|
-
corpo_json: corpo_da_requisicao,
|
|
50
|
-
formato_da_resposta: "json",
|
|
51
|
-
}, opcoes_da_chamada);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Acesso de quem está logado
|
|
55
|
-
*
|
|
56
|
-
* Livre para qualquer usuário autenticado com cadastro ativo, mesmo sem nenhuma permissão liberada. Devolve o cadastro de quem chamou (o `nome` vem do token e, vazio, vira o e-mail), o nome do perfil de acesso do colaborador em `perfil_acesso` (nulo sem perfil) e as permissões por área que o perfil libera (`clientes`, `faturas`, `funcionarios` e `colaboradores`), cada uma com `ler`, `criar`, `editar` e `deletar`. Um master do TermoAuth recebe todas as permissões, com ou sem perfil, e, no primeiro acesso, ganha o cadastro automaticamente.
|
|
57
|
-
*
|
|
58
|
-
* `GET /auth/acesso`
|
|
59
|
-
*/
|
|
60
|
-
export function buscar_acesso_auth(credencial_de_acesso, opcoes_da_chamada) {
|
|
61
|
-
return chamar_servico({
|
|
62
|
-
servico: SERVICO_DESTA_API,
|
|
63
|
-
metodo_http: "GET",
|
|
64
|
-
caminho_da_rota: "/auth/acesso",
|
|
65
|
-
credencial_de_acesso,
|
|
66
|
-
formato_da_resposta: "json",
|
|
67
|
-
}, opcoes_da_chamada);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Lista básica de acessos para seleção
|
|
71
|
-
*
|
|
72
|
-
* Exige qualquer permissão da área `colaboradores`. 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ção por cursor: `tamanho` tem padrão 10 e máximo 100, e para a página seguinte envie em `cursor` o `proximo_cursor` recebido.
|
|
73
|
-
*
|
|
74
|
-
* `GET /auth/autocomplete`
|
|
75
|
-
*/
|
|
76
|
-
export function buscar_auto_complete_auth(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
77
|
-
return chamar_servico({
|
|
78
|
-
servico: SERVICO_DESTA_API,
|
|
79
|
-
metodo_http: "GET",
|
|
80
|
-
caminho_da_rota: "/auth/autocomplete",
|
|
81
|
-
credencial_de_acesso,
|
|
82
|
-
parametros_de_consulta: parametros,
|
|
83
|
-
formato_da_resposta: "json",
|
|
84
|
-
}, opcoes_da_chamada);
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Busca acessos por filtro
|
|
88
|
-
*
|
|
89
|
-
* Exige qualquer permissão da área `colaboradores`. 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; `ativo` filtra pela situação. Sem filtro, devolve todos. Acessos excluídos não aparecem.
|
|
90
|
-
*
|
|
91
|
-
* `GET /auth/filtro`
|
|
92
|
-
*/
|
|
93
|
-
export function buscar_pelo_filtro_auth(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
94
|
-
return chamar_servico({
|
|
95
|
-
servico: SERVICO_DESTA_API,
|
|
96
|
-
metodo_http: "GET",
|
|
97
|
-
caminho_da_rota: "/auth/filtro",
|
|
98
|
-
credencial_de_acesso,
|
|
99
|
-
parametros_de_consulta: parametros,
|
|
100
|
-
formato_da_resposta: "json",
|
|
101
|
-
}, opcoes_da_chamada);
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Total de registros do paginador
|
|
105
|
-
*
|
|
106
|
-
* Exige qualquer permissão da área `colaboradores`. Devolve só o `count(*)` com os mesmos filtros de `GET /auth`, para o frontend montar o paginador sem atrasar a lista: a tela pede a primeira página e o total em paralelo. Conta os mesmos acessos que a listagem devolve; excluídos não contam.
|
|
107
|
-
*
|
|
108
|
-
* `GET /auth/total`
|
|
109
|
-
*/
|
|
110
|
-
export function buscar_total_auth(credencial_de_acesso, opcoes_da_chamada) {
|
|
111
|
-
return chamar_servico({
|
|
112
|
-
servico: SERVICO_DESTA_API,
|
|
113
|
-
metodo_http: "GET",
|
|
114
|
-
caminho_da_rota: "/auth/total",
|
|
115
|
-
credencial_de_acesso,
|
|
116
|
-
formato_da_resposta: "json",
|
|
117
|
-
}, opcoes_da_chamada);
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Busca um acesso pelo id
|
|
121
|
-
*
|
|
122
|
-
* Exige qualquer permissão da área `colaboradores`. Acesso excluído responde `404`. `vinculado` diz se há um colaborador ligado ao acesso, e `nome` é o nome desse colaborador.
|
|
123
|
-
*
|
|
124
|
-
* `GET /auth/{id}`
|
|
125
|
-
*/
|
|
126
|
-
export function buscar_pelo_id_auth(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
127
|
-
return chamar_servico({
|
|
128
|
-
servico: SERVICO_DESTA_API,
|
|
129
|
-
metodo_http: "GET",
|
|
130
|
-
caminho_da_rota: `/auth/${codificar_parametro_de_caminho(id)}`,
|
|
131
|
-
credencial_de_acesso,
|
|
132
|
-
formato_da_resposta: "json",
|
|
133
|
-
}, opcoes_da_chamada);
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Atualiza um acesso
|
|
137
|
-
*
|
|
138
|
-
* Exige a permissão `editar` da área `colaboradores`. Só os campos enviados mudam: `email` (gravado em minúsculas, até 160 caracteres) e `ativo` (acesso inativo é barrado em todas as rotas). O acesso de um master do TermoAuth não pode ser alterado.
|
|
139
|
-
*
|
|
140
|
-
* `PATCH /auth/{id}`
|
|
141
|
-
*/
|
|
142
|
-
export function atualizar_pelo_id_auth(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
143
|
-
return chamar_servico({
|
|
144
|
-
servico: SERVICO_DESTA_API,
|
|
145
|
-
metodo_http: "PATCH",
|
|
146
|
-
caminho_da_rota: `/auth/${codificar_parametro_de_caminho(id)}`,
|
|
147
|
-
credencial_de_acesso,
|
|
148
|
-
corpo_json: corpo_da_requisicao,
|
|
149
|
-
formato_da_resposta: "json",
|
|
150
|
-
}, opcoes_da_chamada);
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Exclui um acesso
|
|
154
|
-
*
|
|
155
|
-
* 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. O acesso de um master do TermoAuth não pode ser excluído.
|
|
156
|
-
*
|
|
157
|
-
* `DELETE /auth/{id}`
|
|
158
|
-
*/
|
|
159
|
-
export function deletar_pelo_id_auth(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
160
|
-
return chamar_servico({
|
|
161
|
-
servico: SERVICO_DESTA_API,
|
|
162
|
-
metodo_http: "DELETE",
|
|
163
|
-
caminho_da_rota: `/auth/${codificar_parametro_de_caminho(id)}`,
|
|
164
|
-
credencial_de_acesso,
|
|
165
|
-
formato_da_resposta: "sem_conteudo",
|
|
166
|
-
}, opcoes_da_chamada);
|
|
167
|
-
}
|
|
168
4
|
/**
|
|
169
5
|
* Lista clientes com paginação por cursor
|
|
170
6
|
*
|
|
@@ -248,140 +84,6 @@ export function buscar_pelo_id_cliente(credencial_de_acesso, id, opcoes_da_chama
|
|
|
248
84
|
formato_da_resposta: "json",
|
|
249
85
|
}, opcoes_da_chamada);
|
|
250
86
|
}
|
|
251
|
-
/**
|
|
252
|
-
* Lista os colaboradores com paginação por cursor
|
|
253
|
-
*
|
|
254
|
-
* Exige qualquer permissão da área `colaboradores`. Ordena por nome e id, sempre 50 itens por página. `nome`, `setor` e `cargo` procuram por trecho, sem diferenciar maiúsculas, e `ativo` filtra pela situação (é o filtro da tela). Sem `cursor` vem a primeira página de colaboradores; para a seguinte, envie em `cursor` o `proximo_cursor` recebido (nulo na última página). O total de registros não vem aqui: está em `GET /colaborador/total`, para a lista não esperar o `count(*)`. Cursor de id inexistente devolve página vazia. Quando quem chama é master do TermoAuth, antes de listar o backend cadastra os colaboradores do TermoAuth que ainda não existem aqui, com o perfil de acesso "Acesso inicial" (só leitura). Colaboradores excluídos não aparecem.
|
|
255
|
-
*
|
|
256
|
-
* `GET /colaborador`
|
|
257
|
-
*/
|
|
258
|
-
export function buscar_paginador_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
259
|
-
return chamar_servico({
|
|
260
|
-
servico: SERVICO_DESTA_API,
|
|
261
|
-
metodo_http: "GET",
|
|
262
|
-
caminho_da_rota: "/colaborador",
|
|
263
|
-
credencial_de_acesso,
|
|
264
|
-
parametros_de_consulta: parametros,
|
|
265
|
-
formato_da_resposta: "json",
|
|
266
|
-
}, opcoes_da_chamada);
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Lista básica de colaboradores para seleção
|
|
270
|
-
*
|
|
271
|
-
* Exige qualquer permissão da área `colaboradores`. Devolve só id, nome e e-mail, em ordem alfabética de nome, para escolher um colaborador. `busca` procura por trecho do nome ou do e-mail, sem diferenciar maiúsculas. Paginação por cursor: `tamanho` tem padrão 10 e máximo 100, e para a página seguinte envie em `cursor` o `proximo_cursor` recebido.
|
|
272
|
-
*
|
|
273
|
-
* `GET /colaborador/autocomplete`
|
|
274
|
-
*/
|
|
275
|
-
export function buscar_auto_complete_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
276
|
-
return chamar_servico({
|
|
277
|
-
servico: SERVICO_DESTA_API,
|
|
278
|
-
metodo_http: "GET",
|
|
279
|
-
caminho_da_rota: "/colaborador/autocomplete",
|
|
280
|
-
credencial_de_acesso,
|
|
281
|
-
parametros_de_consulta: parametros,
|
|
282
|
-
formato_da_resposta: "json",
|
|
283
|
-
}, opcoes_da_chamada);
|
|
284
|
-
}
|
|
285
|
-
/**
|
|
286
|
-
* Busca colaboradores por filtro
|
|
287
|
-
*
|
|
288
|
-
* Exige qualquer permissão da área `colaboradores`. 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`, `setor` 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. Colaboradores excluídos não aparecem.
|
|
289
|
-
*
|
|
290
|
-
* `GET /colaborador/filtro`
|
|
291
|
-
*/
|
|
292
|
-
export function buscar_pelo_filtro_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
293
|
-
return chamar_servico({
|
|
294
|
-
servico: SERVICO_DESTA_API,
|
|
295
|
-
metodo_http: "GET",
|
|
296
|
-
caminho_da_rota: "/colaborador/filtro",
|
|
297
|
-
credencial_de_acesso,
|
|
298
|
-
parametros_de_consulta: parametros,
|
|
299
|
-
formato_da_resposta: "json",
|
|
300
|
-
}, opcoes_da_chamada);
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Total de registros do paginador
|
|
304
|
-
*
|
|
305
|
-
* Exige qualquer permissão da área `colaboradores`. Devolve só o `count(*)` com os mesmos filtros de `GET /colaborador` (`nome`, `setor`, `cargo` e `ativo`), para o frontend montar o paginador sem atrasar a lista: a tela pede a primeira página e o total em paralelo. Conta os mesmos colaboradores que a listagem devolve; excluídos não contam.
|
|
306
|
-
*
|
|
307
|
-
* `GET /colaborador/total`
|
|
308
|
-
*/
|
|
309
|
-
export function buscar_total_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
310
|
-
return chamar_servico({
|
|
311
|
-
servico: SERVICO_DESTA_API,
|
|
312
|
-
metodo_http: "GET",
|
|
313
|
-
caminho_da_rota: "/colaborador/total",
|
|
314
|
-
credencial_de_acesso,
|
|
315
|
-
parametros_de_consulta: parametros,
|
|
316
|
-
formato_da_resposta: "json",
|
|
317
|
-
}, opcoes_da_chamada);
|
|
318
|
-
}
|
|
319
|
-
/**
|
|
320
|
-
* Busca um colaborador pelo id
|
|
321
|
-
*
|
|
322
|
-
* Exige qualquer permissão da área `colaboradores`. O colaborador é do TermoAuth, que é o único que cria, altera e exclui; aqui só se define o perfil de acesso dele. Colaborador excluído responde `404`. Traz junto o e-mail do acesso, se ele é master do TermoAuth, o setor, o cargo e a função vindos do TermoAuth e o perfil de acesso (`perfil_acesso_id` e o nome em `perfil_acesso`, nulos quando a pessoa ainda não tem perfil).
|
|
323
|
-
*
|
|
324
|
-
* `GET /colaborador/{id}`
|
|
325
|
-
*/
|
|
326
|
-
export function buscar_pelo_id_colaborador(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
327
|
-
return chamar_servico({
|
|
328
|
-
servico: SERVICO_DESTA_API,
|
|
329
|
-
metodo_http: "GET",
|
|
330
|
-
caminho_da_rota: `/colaborador/${codificar_parametro_de_caminho(id)}`,
|
|
331
|
-
credencial_de_acesso,
|
|
332
|
-
formato_da_resposta: "json",
|
|
333
|
-
}, opcoes_da_chamada);
|
|
334
|
-
}
|
|
335
|
-
/**
|
|
336
|
-
* Define o perfil de acesso de um colaborador
|
|
337
|
-
*
|
|
338
|
-
* Exige a permissão `editar` da área `colaboradores`. É a única escrita do colaborador feita pelo TermoIntranetAPI: `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).
|
|
339
|
-
*
|
|
340
|
-
* `PATCH /colaborador/{id}/perfil_acesso`
|
|
341
|
-
*/
|
|
342
|
-
export function vincular_perfil_acesso_colaborador(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
343
|
-
return chamar_servico({
|
|
344
|
-
servico: SERVICO_DESTA_API,
|
|
345
|
-
metodo_http: "PATCH",
|
|
346
|
-
caminho_da_rota: `/colaborador/${codificar_parametro_de_caminho(id)}/perfil_acesso`,
|
|
347
|
-
credencial_de_acesso,
|
|
348
|
-
corpo_json: corpo_da_requisicao,
|
|
349
|
-
formato_da_resposta: "json",
|
|
350
|
-
}, opcoes_da_chamada);
|
|
351
|
-
}
|
|
352
|
-
/**
|
|
353
|
-
* Configuração do app
|
|
354
|
-
*
|
|
355
|
-
* Só um master do TermoAuth. Devolve a situação do segredo do app gerado no TermoAuth (`/master/apps`), guardado cifrado no banco: `configurado` e o final mascarado em `final_visivel`, nunca o valor. `criptografia_configurada` diz se o servidor tem a `GLOBAL_SECRET_CRIPTOGRAFIA`; sem ela o segredo aparece como não configurado.
|
|
356
|
-
*
|
|
357
|
-
* `GET /configuracao`
|
|
358
|
-
*/
|
|
359
|
-
export function buscar_pelo_id_configuracao(credencial_de_acesso, opcoes_da_chamada) {
|
|
360
|
-
return chamar_servico({
|
|
361
|
-
servico: SERVICO_DESTA_API,
|
|
362
|
-
metodo_http: "GET",
|
|
363
|
-
caminho_da_rota: "/configuracao",
|
|
364
|
-
credencial_de_acesso,
|
|
365
|
-
formato_da_resposta: "json",
|
|
366
|
-
}, opcoes_da_chamada);
|
|
367
|
-
}
|
|
368
|
-
/**
|
|
369
|
-
* Atualiza o segredo do app
|
|
370
|
-
*
|
|
371
|
-
* Só um master do TermoAuth. `segredo_do_app_gerado_no_termo_auth` ausente não muda nada, uma string troca o valor (até 2.000 caracteres, sem quebra de linha) e `null` limpa. O valor é cifrado com AES-256-GCM e entregue ao `termo_core` na hora, sem deploy.
|
|
372
|
-
*
|
|
373
|
-
* `PATCH /configuracao`
|
|
374
|
-
*/
|
|
375
|
-
export function atualizar_pelo_id_configuracao(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
376
|
-
return chamar_servico({
|
|
377
|
-
servico: SERVICO_DESTA_API,
|
|
378
|
-
metodo_http: "PATCH",
|
|
379
|
-
caminho_da_rota: "/configuracao",
|
|
380
|
-
credencial_de_acesso,
|
|
381
|
-
corpo_json: corpo_da_requisicao,
|
|
382
|
-
formato_da_resposta: "json",
|
|
383
|
-
}, opcoes_da_chamada);
|
|
384
|
-
}
|
|
385
87
|
/**
|
|
386
88
|
* Lista faturas com paginação por cursor
|
|
387
89
|
*
|
|
@@ -548,168 +250,3 @@ export function buscar_pelo_id_funcionario(credencial_de_acesso, id, opcoes_da_c
|
|
|
548
250
|
formato_da_resposta: "json",
|
|
549
251
|
}, opcoes_da_chamada);
|
|
550
252
|
}
|
|
551
|
-
/**
|
|
552
|
-
* Lista os perfis de acesso com paginação por cursor
|
|
553
|
-
*
|
|
554
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Ordena pelo nome e pelo id, sempre 50 itens por página. Sem `cursor` vem a primeira página; para a seguinte, envie em `cursor` o `proximo_cursor` recebido (nulo na última página). O total de registros não vem aqui: está em `GET /perfil_acesso/total`, para a lista não esperar o `count(*)`. Cursor de id inexistente devolve página vazia. Perfis excluídos não aparecem.
|
|
555
|
-
*
|
|
556
|
-
* `GET /perfil_acesso`
|
|
557
|
-
*/
|
|
558
|
-
export function buscar_paginador_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
559
|
-
return chamar_servico({
|
|
560
|
-
servico: SERVICO_DESTA_API,
|
|
561
|
-
metodo_http: "GET",
|
|
562
|
-
caminho_da_rota: "/perfil_acesso",
|
|
563
|
-
credencial_de_acesso,
|
|
564
|
-
parametros_de_consulta: parametros,
|
|
565
|
-
formato_da_resposta: "json",
|
|
566
|
-
}, opcoes_da_chamada);
|
|
567
|
-
}
|
|
568
|
-
/**
|
|
569
|
-
* Cria um perfil de acesso
|
|
570
|
-
*
|
|
571
|
-
* Exige a permissão `criar` da área `colaboradores`. O perfil de acesso é o conjunto de permissões que o TermoIntranetAPI 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 (`clientes`, `faturas`, `funcionarios`, `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.
|
|
572
|
-
*
|
|
573
|
-
* `POST /perfil_acesso`
|
|
574
|
-
*/
|
|
575
|
-
export function criar_perfil_acesso(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
|
|
576
|
-
return chamar_servico({
|
|
577
|
-
servico: SERVICO_DESTA_API,
|
|
578
|
-
metodo_http: "POST",
|
|
579
|
-
caminho_da_rota: "/perfil_acesso",
|
|
580
|
-
credencial_de_acesso,
|
|
581
|
-
corpo_json: corpo_da_requisicao,
|
|
582
|
-
formato_da_resposta: "json",
|
|
583
|
-
}, opcoes_da_chamada);
|
|
584
|
-
}
|
|
585
|
-
/**
|
|
586
|
-
* Lista básica de perfis de acesso para seleção
|
|
587
|
-
*
|
|
588
|
-
* 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ção por cursor: `tamanho` tem padrão 10 e máximo 100, e para a página seguinte envie em `cursor` o `proximo_cursor` recebido.
|
|
589
|
-
*
|
|
590
|
-
* `GET /perfil_acesso/autocomplete`
|
|
591
|
-
*/
|
|
592
|
-
export function buscar_auto_complete_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
593
|
-
return chamar_servico({
|
|
594
|
-
servico: SERVICO_DESTA_API,
|
|
595
|
-
metodo_http: "GET",
|
|
596
|
-
caminho_da_rota: "/perfil_acesso/autocomplete",
|
|
597
|
-
credencial_de_acesso,
|
|
598
|
-
parametros_de_consulta: parametros,
|
|
599
|
-
formato_da_resposta: "json",
|
|
600
|
-
}, opcoes_da_chamada);
|
|
601
|
-
}
|
|
602
|
-
/**
|
|
603
|
-
* Busca perfis de acesso por filtro
|
|
604
|
-
*
|
|
605
|
-
* 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).
|
|
606
|
-
*
|
|
607
|
-
* `GET /perfil_acesso/filtro`
|
|
608
|
-
*/
|
|
609
|
-
export function buscar_pelo_filtro_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
610
|
-
return chamar_servico({
|
|
611
|
-
servico: SERVICO_DESTA_API,
|
|
612
|
-
metodo_http: "GET",
|
|
613
|
-
caminho_da_rota: "/perfil_acesso/filtro",
|
|
614
|
-
credencial_de_acesso,
|
|
615
|
-
parametros_de_consulta: parametros,
|
|
616
|
-
formato_da_resposta: "json",
|
|
617
|
-
}, opcoes_da_chamada);
|
|
618
|
-
}
|
|
619
|
-
/**
|
|
620
|
-
* Total de registros do paginador
|
|
621
|
-
*
|
|
622
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Devolve só o `count(*)` com os mesmos filtros de `GET /perfil_acesso`, para o frontend montar o paginador sem atrasar a lista: a tela pede a primeira página e o total em paralelo. Perfis excluídos não contam.
|
|
623
|
-
*
|
|
624
|
-
* `GET /perfil_acesso/total`
|
|
625
|
-
*/
|
|
626
|
-
export function buscar_total_perfil_acesso(credencial_de_acesso, opcoes_da_chamada) {
|
|
627
|
-
return chamar_servico({
|
|
628
|
-
servico: SERVICO_DESTA_API,
|
|
629
|
-
metodo_http: "GET",
|
|
630
|
-
caminho_da_rota: "/perfil_acesso/total",
|
|
631
|
-
credencial_de_acesso,
|
|
632
|
-
formato_da_resposta: "json",
|
|
633
|
-
}, opcoes_da_chamada);
|
|
634
|
-
}
|
|
635
|
-
/**
|
|
636
|
-
* Busca um perfil de acesso pelo id
|
|
637
|
-
*
|
|
638
|
-
* Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Perfil excluído responde `404`.
|
|
639
|
-
*
|
|
640
|
-
* `GET /perfil_acesso/{id}`
|
|
641
|
-
*/
|
|
642
|
-
export function buscar_pelo_id_perfil_acesso(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
643
|
-
return chamar_servico({
|
|
644
|
-
servico: SERVICO_DESTA_API,
|
|
645
|
-
metodo_http: "GET",
|
|
646
|
-
caminho_da_rota: `/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
|
|
647
|
-
credencial_de_acesso,
|
|
648
|
-
formato_da_resposta: "json",
|
|
649
|
-
}, opcoes_da_chamada);
|
|
650
|
-
}
|
|
651
|
-
/**
|
|
652
|
-
* Atualiza um perfil de acesso pelo id
|
|
653
|
-
*
|
|
654
|
-
* 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).
|
|
655
|
-
*
|
|
656
|
-
* `PATCH /perfil_acesso/{id}`
|
|
657
|
-
*/
|
|
658
|
-
export function atualizar_pelo_id_perfil_acesso(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
659
|
-
return chamar_servico({
|
|
660
|
-
servico: SERVICO_DESTA_API,
|
|
661
|
-
metodo_http: "PATCH",
|
|
662
|
-
caminho_da_rota: `/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
|
|
663
|
-
credencial_de_acesso,
|
|
664
|
-
corpo_json: corpo_da_requisicao,
|
|
665
|
-
formato_da_resposta: "json",
|
|
666
|
-
}, opcoes_da_chamada);
|
|
667
|
-
}
|
|
668
|
-
/**
|
|
669
|
-
* Exclui um perfil de acesso pelo id
|
|
670
|
-
*
|
|
671
|
-
* 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.
|
|
672
|
-
*
|
|
673
|
-
* `DELETE /perfil_acesso/{id}`
|
|
674
|
-
*/
|
|
675
|
-
export function deletar_pelo_id_perfil_acesso(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
676
|
-
return chamar_servico({
|
|
677
|
-
servico: SERVICO_DESTA_API,
|
|
678
|
-
metodo_http: "DELETE",
|
|
679
|
-
caminho_da_rota: `/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
|
|
680
|
-
credencial_de_acesso,
|
|
681
|
-
formato_da_resposta: "sem_conteudo",
|
|
682
|
-
}, opcoes_da_chamada);
|
|
683
|
-
}
|
|
684
|
-
/**
|
|
685
|
-
* Verifica se o backend está no ar
|
|
686
|
-
*
|
|
687
|
-
* Pública, sem token. Responde `200` com `sucesso: true` e a versão do backend no ar sempre que o servidor está de pé; não consulta os bancos nem o TermoAuth.
|
|
688
|
-
*
|
|
689
|
-
* `GET /test`
|
|
690
|
-
*/
|
|
691
|
-
export function verificar_saude_test(opcoes_da_chamada) {
|
|
692
|
-
return chamar_servico({
|
|
693
|
-
servico: SERVICO_DESTA_API,
|
|
694
|
-
metodo_http: "GET",
|
|
695
|
-
caminho_da_rota: "/test",
|
|
696
|
-
formato_da_resposta: "json",
|
|
697
|
-
}, opcoes_da_chamada);
|
|
698
|
-
}
|
|
699
|
-
/**
|
|
700
|
-
* Recebe os eventos entregues pelo TermoWebhook
|
|
701
|
-
*
|
|
702
|
-
* Pública, sem token do usuário: quem chama é o TermoWebhook, o hub de eventos da Termotubos, e a entrega é conferida pela assinatura Ed25519 do hub (chave pública do hub, data dentro da tolerância e id deste aplicativo como destino). Hoje são aplicados `colaborador.criado` e `colaborador.atualizado`, nas versões 1 e 2, que cadastram e atualizam o colaborador e o acesso a partir do TermoAuth; evento repetido ou mais antigo que o último aplicado é descartado sem erro, e tipo desconhecido responde `200` sem fazer nada. A resposta não tem corpo; qualquer status fora de `2xx` faz o hub reenviar.
|
|
703
|
-
*
|
|
704
|
-
* `POST /webhooks/termowebhook`
|
|
705
|
-
*/
|
|
706
|
-
export function receber_evento_termo_webhook_webhooks(parametros, corpo_da_requisicao, opcoes_da_chamada) {
|
|
707
|
-
return chamar_servico({
|
|
708
|
-
servico: SERVICO_DESTA_API,
|
|
709
|
-
metodo_http: "POST",
|
|
710
|
-
caminho_da_rota: "/webhooks/termowebhook",
|
|
711
|
-
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"] },
|
|
712
|
-
corpo_json: corpo_da_requisicao,
|
|
713
|
-
formato_da_resposta: "sem_conteudo",
|
|
714
|
-
}, opcoes_da_chamada);
|
|
715
|
-
}
|