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.
@@ -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_LEADS 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 publicada, no formato semver. Qualquer rota que não existe responde `404` com `{ sucesso: false, mensagem: "Rota não encontrada" }`.
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
- * Devolve o usuário logado e as permissões dele
21
- *
22
- * Exige login: token válido do TermoAuth, e-mail `@termotubos.com.br` e acesso cadastrado e ativo no TermoLeads (o master do TermoAuth ganha o acesso e o colaborador no primeiro pedido; os demais chegam pela sincronização que um master dispara ao listar os colaboradores). Não exige nenhuma área. Devolve `id` (o id no TermoAuth), `nome`, `email`, `master`, o nome do `perfil_acesso` e as `permissoes` de cada área, que o frontend usa para montar o menu.
23
- *
24
- * `GET /api/auth/eu`
25
- */
26
- export function eu_auth(credencial_de_acesso, opcoes_da_chamada) {
27
- return chamar_servico({
28
- servico: SERVICO_DESTA_API,
29
- metodo_http: "GET",
30
- caminho_da_rota: "/api/auth/eu",
31
- credencial_de_acesso,
32
- formato_da_resposta: "json",
33
- }, opcoes_da_chamada);
34
- }
35
4
  /**
36
5
  * Consulta um estabelecimento pelo CNPJ
37
6
  *
@@ -47,123 +16,6 @@ export function buscar_pelo_id_cnpj(cnpj, opcoes_da_chamada) {
47
16
  formato_da_resposta: "json",
48
17
  }, opcoes_da_chamada);
49
18
  }
50
- /**
51
- * Lista os colaboradores com paginação
52
- *
53
- * 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 TermoLeads busca no TermoAuth os colaboradores `@termotubos.com.br` que ainda não existem aqui e os cadastra com o perfil de acesso "Acesso inicial" (só leitura em todas as áreas). `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 os registros que casam com o filtro.
54
- *
55
- * `GET /api/colaborador`
56
- */
57
- export function buscar_paginador_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
58
- return chamar_servico({
59
- servico: SERVICO_DESTA_API,
60
- metodo_http: "GET",
61
- caminho_da_rota: "/api/colaborador",
62
- credencial_de_acesso,
63
- parametros_de_consulta: parametros,
64
- formato_da_resposta: "json",
65
- }, opcoes_da_chamada);
66
- }
67
- /**
68
- * Lista básica de colaboradores para seleção
69
- *
70
- * 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. `pagina` começa em 1 (padrão 1) e `tamanho` tem padrão 10, sem máximo; valores menores que 1 viram 1.
71
- *
72
- * `GET /api/colaborador/autocomplete`
73
- */
74
- export function buscar_auto_complete_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
75
- return chamar_servico({
76
- servico: SERVICO_DESTA_API,
77
- metodo_http: "GET",
78
- caminho_da_rota: "/api/colaborador/autocomplete",
79
- credencial_de_acesso,
80
- parametros_de_consulta: parametros,
81
- formato_da_resposta: "json",
82
- }, opcoes_da_chamada);
83
- }
84
- /**
85
- * Busca colaboradores por filtro
86
- *
87
- * 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. Todos os filtros são opcionais e se somam; sem filtro, devolve todos.
88
- *
89
- * `GET /api/colaborador/filtro`
90
- */
91
- export function buscar_pelo_filtro_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
92
- return chamar_servico({
93
- servico: SERVICO_DESTA_API,
94
- metodo_http: "GET",
95
- caminho_da_rota: "/api/colaborador/filtro",
96
- credencial_de_acesso,
97
- parametros_de_consulta: parametros,
98
- formato_da_resposta: "json",
99
- }, opcoes_da_chamada);
100
- }
101
- /**
102
- * Busca um colaborador pelo id
103
- *
104
- * 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 e o perfil de acesso. Colaborador excluído responde `404`. O colaborador é do TermoAuth: aqui ele só é lido (chega pela sincronização) e só o perfil de acesso é alterado.
105
- *
106
- * `GET /api/colaborador/{id}`
107
- */
108
- export function buscar_pelo_id_colaborador(credencial_de_acesso, id, opcoes_da_chamada) {
109
- return chamar_servico({
110
- servico: SERVICO_DESTA_API,
111
- metodo_http: "GET",
112
- caminho_da_rota: `/api/colaborador/${codificar_parametro_de_caminho(id)}`,
113
- credencial_de_acesso,
114
- formato_da_resposta: "json",
115
- }, opcoes_da_chamada);
116
- }
117
- /**
118
- * Define o perfil de acesso de um colaborador
119
- *
120
- * Exige a permissão `editar` da área `colaboradores`. É a única escrita do colaborador feita pelo TermoLeads: `perfil_acesso_id` aponta para um perfil de `GET /api/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).
121
- *
122
- * `PATCH /api/colaborador/{id}/perfil_acesso`
123
- */
124
- export function vincular_perfil_acesso_colaborador(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
125
- return chamar_servico({
126
- servico: SERVICO_DESTA_API,
127
- metodo_http: "PATCH",
128
- caminho_da_rota: `/api/colaborador/${codificar_parametro_de_caminho(id)}/perfil_acesso`,
129
- credencial_de_acesso,
130
- corpo_json: corpo_da_requisicao,
131
- formato_da_resposta: "json",
132
- }, opcoes_da_chamada);
133
- }
134
- /**
135
- * Mostra a situação do segredo do app
136
- *
137
- * Exige o usuário master (token do TermoAuth com `isMaster`). Devolve se o segredo do app `termo-leads` gerado no TermoAuth está cadastrado e o final mascarado dele, nunca o valor. O segredo fica cifrado no banco (AES-256-GCM, chave derivada da `GLOBAL_SECRET_CRIPTOGRAFIA` do servidor); sem essa variável, ou se ela mudou, o segredo aparece como não configurado.
138
- *
139
- * `GET /api/configuracao`
140
- */
141
- export function buscar_pelo_id_configuracao(credencial_de_acesso, opcoes_da_chamada) {
142
- return chamar_servico({
143
- servico: SERVICO_DESTA_API,
144
- metodo_http: "GET",
145
- caminho_da_rota: "/api/configuracao",
146
- credencial_de_acesso,
147
- formato_da_resposta: "json",
148
- }, opcoes_da_chamada);
149
- }
150
- /**
151
- * Grava ou apaga o segredo do app
152
- *
153
- * Exige o usuário master (token do TermoAuth com `isMaster`). `segredo_do_app_gerado_no_termo_auth` ausente não mexe, texto troca e `null` apaga. O valor é cifrado antes de ir para o banco e entregue na hora ao `termo_core`, que o usa para pedir o token de aplicativo ao TermoAuth: vale sem deploy. Responde 503 quando o servidor está sem a `GLOBAL_SECRET_CRIPTOGRAFIA`.
154
- *
155
- * `PATCH /api/configuracao`
156
- */
157
- export function atualizar_pelo_id_configuracao(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
158
- return chamar_servico({
159
- servico: SERVICO_DESTA_API,
160
- metodo_http: "PATCH",
161
- caminho_da_rota: "/api/configuracao",
162
- credencial_de_acesso,
163
- corpo_json: corpo_da_requisicao,
164
- formato_da_resposta: "json",
165
- }, opcoes_da_chamada);
166
- }
167
19
  /**
168
20
  * Lista estabelecimentos da base CNPJ com filtros e paginação
169
21
  *
@@ -181,295 +33,3 @@ export function buscar_paginador_cnpj(credencial_de_acesso, parametros = {}, opc
181
33
  formato_da_resposta: "json",
182
34
  }, opcoes_da_chamada);
183
35
  }
184
- /**
185
- * Cancela a importação em andamento
186
- *
187
- * Exige o usuário master (token do TermoAuth com `isMaster`) e só roda no localhost (`APP_ENV=development`); em sandbox e production responde 403. Pede o cancelamento da importação em andamento; ela para no próximo ponto seguro e a base em uso não é alterada. Não tem corpo. Sem importação em andamento, ou com o cancelamento já pedido, não faz nada. Devolve o progresso atual, com `cancelando` em `true` quando o pedido foi aceito.
188
- *
189
- * `POST /api/importar/cancelar`
190
- */
191
- export function cancelar_importar(credencial_de_acesso, opcoes_da_chamada) {
192
- return chamar_servico({
193
- servico: SERVICO_DESTA_API,
194
- metodo_http: "POST",
195
- caminho_da_rota: "/api/importar/cancelar",
196
- credencial_de_acesso,
197
- formato_da_resposta: "json",
198
- }, opcoes_da_chamada);
199
- }
200
- /**
201
- * Inicia a importação da base CNPJ da Receita Federal
202
- *
203
- * Exige o usuário master (token do TermoAuth com `isMaster`) e só roda no localhost (`APP_ENV=development`); em sandbox e production responde 403. Dispara em segundo plano a importação completa da base CNPJ: baixa o mês mais recente publicado pela Receita, monta a base nova e só no fim troca a base em uso, que continua respondendo durante todo o processo. Operação pesada, que leva horas. Não tem corpo. Se já houver uma importação em andamento, não começa outra e devolve o progresso dela. A resposta é o progresso no momento do pedido; o andamento se acompanha em `GET /api/importar/status`.
204
- *
205
- * `POST /api/importar/iniciar`
206
- */
207
- export function iniciar_importar(credencial_de_acesso, opcoes_da_chamada) {
208
- return chamar_servico({
209
- servico: SERVICO_DESTA_API,
210
- metodo_http: "POST",
211
- caminho_da_rota: "/api/importar/iniciar",
212
- credencial_de_acesso,
213
- formato_da_resposta: "json",
214
- }, opcoes_da_chamada);
215
- }
216
- /**
217
- * Lista o histórico das importações
218
- *
219
- * Exige o usuário master (token do TermoAuth com `isMaster`) e só roda no localhost (`APP_ENV=development`); em sandbox e production responde 403. Devolve as últimas 50 importações registradas, da mais recente para a mais antiga, sem paginação: mês importado, `status` (`executando`, `concluido`, `concluido_com_falhas`, `erro` ou `cancelado`), início e fim (data e hora em RFC 3339), arquivos processados, total de linhas e o erro, se houve. Se o banco falhar, devolve a lista vazia.
220
- *
221
- * `GET /api/importar/relatorios`
222
- */
223
- export function relatorios_importar(credencial_de_acesso, opcoes_da_chamada) {
224
- return chamar_servico({
225
- servico: SERVICO_DESTA_API,
226
- metodo_http: "GET",
227
- caminho_da_rota: "/api/importar/relatorios",
228
- credencial_de_acesso,
229
- formato_da_resposta: "json",
230
- }, opcoes_da_chamada);
231
- }
232
- /**
233
- * Envia a base CNPJ local para sandbox ou production
234
- *
235
- * Exige o usuário master e só roda no localhost (`APP_ENV=development`). Lê a tabela `cnpj` local em lotes (padrão 1.000 linhas, `SINCRONIZAR_LOTE`) e manda cada um, um por vez, para `POST /api/micro_servico/cnpj/lote` do ambiente escolhido, com a chave `GLOBAL_SECRET_API_MICRO_SERVICE` do `.env` local. Falha de rede ou 5xx tenta de novo até 6 vezes. Com `retomarDe` (14 dígitos), continua depois daquele CNPJ. Cada lote confirmado grava o último CNPJ no banco local (`GET /api/importar/sincronizar/pontos`), que é apagado quando a sincronização termina com sucesso. Não começa durante uma importação; se já houver uma sincronização em andamento, devolve o progresso dela.
236
- *
237
- * `POST /api/importar/sincronizar`
238
- */
239
- export function sincronizar_importar(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
240
- return chamar_servico({
241
- servico: SERVICO_DESTA_API,
242
- metodo_http: "POST",
243
- caminho_da_rota: "/api/importar/sincronizar",
244
- credencial_de_acesso,
245
- corpo_json: corpo_da_requisicao,
246
- formato_da_resposta: "json",
247
- }, opcoes_da_chamada);
248
- }
249
- /**
250
- * Cancela a sincronização em andamento
251
- *
252
- * Exige o usuário master e só roda no localhost. Para depois do lote que está sendo enviado; `ultimoCnpj` fica como ponto de retomada. Não tem corpo.
253
- *
254
- * `POST /api/importar/sincronizar/cancelar`
255
- */
256
- export function sincronizar_cancelar_importar(credencial_de_acesso, opcoes_da_chamada) {
257
- return chamar_servico({
258
- servico: SERVICO_DESTA_API,
259
- metodo_http: "POST",
260
- caminho_da_rota: "/api/importar/sincronizar/cancelar",
261
- credencial_de_acesso,
262
- formato_da_resposta: "json",
263
- }, opcoes_da_chamada);
264
- }
265
- /**
266
- * Lista os pontos de retomada salvos
267
- *
268
- * Exige o usuário master e só roda no localhost. Devolve, por ambiente, o último CNPJ confirmado pelo destino, gravado no banco local a cada lote. Sobrevive a um reinício do backend local; some quando a sincronização daquele ambiente termina com sucesso.
269
- *
270
- * `GET /api/importar/sincronizar/pontos`
271
- */
272
- export function sincronizar_pontos_importar(credencial_de_acesso, opcoes_da_chamada) {
273
- return chamar_servico({
274
- servico: SERVICO_DESTA_API,
275
- metodo_http: "GET",
276
- caminho_da_rota: "/api/importar/sincronizar/pontos",
277
- credencial_de_acesso,
278
- formato_da_resposta: "json",
279
- }, opcoes_da_chamada);
280
- }
281
- /**
282
- * Mostra o progresso da sincronização
283
- *
284
- * Exige o usuário master e só roda no localhost. Devolve o destino, as linhas enviadas e gravadas, os lotes, o último CNPJ confirmado, o erro e as últimas 200 linhas do log.
285
- *
286
- * `GET /api/importar/sincronizar/status`
287
- */
288
- export function sincronizar_status_importar(credencial_de_acesso, opcoes_da_chamada) {
289
- return chamar_servico({
290
- servico: SERVICO_DESTA_API,
291
- metodo_http: "GET",
292
- caminho_da_rota: "/api/importar/sincronizar/status",
293
- credencial_de_acesso,
294
- formato_da_resposta: "json",
295
- }, opcoes_da_chamada);
296
- }
297
- /**
298
- * Mostra o progresso da importação
299
- *
300
- * Exige o usuário master (token do TermoAuth com `isMaster`) e só roda no localhost (`APP_ENV=development`); em sandbox e production responde 403. Devolve o progresso da importação da execução atual do servidor: `etapa` (vazia antes da primeira importação, depois `preparando`, `baixando`, `importando`, `montagem`, `indices` ou `concluido`), `running`, `finalizado`, `cancelando`, o mês importado em `mes` (`AAAA-MM`), o download dos arquivos, os arquivos processados com linhas lidas e descartadas, a montagem por faixas, as falhas, o erro final e as últimas 200 linhas do log. Sem importação desde que o servidor subiu, os campos vêm vazios ou zerados.
301
- *
302
- * `GET /api/importar/status`
303
- */
304
- export function status_importar(credencial_de_acesso, opcoes_da_chamada) {
305
- return chamar_servico({
306
- servico: SERVICO_DESTA_API,
307
- metodo_http: "GET",
308
- caminho_da_rota: "/api/importar/status",
309
- credencial_de_acesso,
310
- formato_da_resposta: "json",
311
- }, opcoes_da_chamada);
312
- }
313
- /**
314
- * Recebe um lote da base CNPJ montada no localhost
315
- *
316
- * Sem JWT: exige o header `x-secret-api-micro-service` igual a `GLOBAL_SECRET_API_MICRO_SERVICE` do servidor (sem a variável, a rota fica fechada). Usada pela sincronização do localhost, que monta a base da Receita e manda as linhas prontas em lotes. Faz upsert por `cnpj`: insere o CNPJ novo e atualiza o que já existe, regravando só as linhas que mudaram. No máximo 5.000 registros por lote.
317
- *
318
- * `POST /api/micro_servico/cnpj/lote`
319
- */
320
- export function cnpj_salvar_lote(corpo_da_requisicao, opcoes_da_chamada) {
321
- return chamar_servico({
322
- servico: SERVICO_DESTA_API,
323
- metodo_http: "POST",
324
- caminho_da_rota: "/api/micro_servico/cnpj/lote",
325
- corpo_json: corpo_da_requisicao,
326
- formato_da_resposta: "json",
327
- }, opcoes_da_chamada);
328
- }
329
- /**
330
- * Lista os perfis de acesso com paginação
331
- *
332
- * 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.
333
- *
334
- * `GET /api/perfil_acesso`
335
- */
336
- export function buscar_paginador_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
337
- return chamar_servico({
338
- servico: SERVICO_DESTA_API,
339
- metodo_http: "GET",
340
- caminho_da_rota: "/api/perfil_acesso",
341
- credencial_de_acesso,
342
- parametros_de_consulta: parametros,
343
- formato_da_resposta: "json",
344
- }, opcoes_da_chamada);
345
- }
346
- /**
347
- * Cria um perfil de acesso
348
- *
349
- * Exige a permissão `criar` da área `colaboradores`. O perfil de acesso é o conjunto de permissões que o TermoLeads dá a um colaborador: cada colaborador aponta para um perfil (`PATCH /api/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 (`empresas`, `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.
350
- *
351
- * `POST /api/perfil_acesso`
352
- */
353
- export function criar_perfil_acesso(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
354
- return chamar_servico({
355
- servico: SERVICO_DESTA_API,
356
- metodo_http: "POST",
357
- caminho_da_rota: "/api/perfil_acesso",
358
- credencial_de_acesso,
359
- corpo_json: corpo_da_requisicao,
360
- formato_da_resposta: "json",
361
- }, opcoes_da_chamada);
362
- }
363
- /**
364
- * Lista básica de perfis de acesso para seleção
365
- *
366
- * 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.
367
- *
368
- * `GET /api/perfil_acesso/autocomplete`
369
- */
370
- export function buscar_auto_complete_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
371
- return chamar_servico({
372
- servico: SERVICO_DESTA_API,
373
- metodo_http: "GET",
374
- caminho_da_rota: "/api/perfil_acesso/autocomplete",
375
- credencial_de_acesso,
376
- parametros_de_consulta: parametros,
377
- formato_da_resposta: "json",
378
- }, opcoes_da_chamada);
379
- }
380
- /**
381
- * Busca perfis de acesso por filtro
382
- *
383
- * 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).
384
- *
385
- * `GET /api/perfil_acesso/filtro`
386
- */
387
- export function buscar_pelo_filtro_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
388
- return chamar_servico({
389
- servico: SERVICO_DESTA_API,
390
- metodo_http: "GET",
391
- caminho_da_rota: "/api/perfil_acesso/filtro",
392
- credencial_de_acesso,
393
- parametros_de_consulta: parametros,
394
- formato_da_resposta: "json",
395
- }, opcoes_da_chamada);
396
- }
397
- /**
398
- * Busca um perfil de acesso pelo id
399
- *
400
- * Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Perfil excluído responde `404`.
401
- *
402
- * `GET /api/perfil_acesso/{id}`
403
- */
404
- export function buscar_pelo_id_perfil_acesso(credencial_de_acesso, id, opcoes_da_chamada) {
405
- return chamar_servico({
406
- servico: SERVICO_DESTA_API,
407
- metodo_http: "GET",
408
- caminho_da_rota: `/api/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
409
- credencial_de_acesso,
410
- formato_da_resposta: "json",
411
- }, opcoes_da_chamada);
412
- }
413
- /**
414
- * Atualiza um perfil de acesso pelo id
415
- *
416
- * 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).
417
- *
418
- * `PATCH /api/perfil_acesso/{id}`
419
- */
420
- export function atualizar_pelo_id_perfil_acesso(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
421
- return chamar_servico({
422
- servico: SERVICO_DESTA_API,
423
- metodo_http: "PATCH",
424
- caminho_da_rota: `/api/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
425
- credencial_de_acesso,
426
- corpo_json: corpo_da_requisicao,
427
- formato_da_resposta: "json",
428
- }, opcoes_da_chamada);
429
- }
430
- /**
431
- * Exclui um perfil de acesso pelo id
432
- *
433
- * 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.
434
- *
435
- * `DELETE /api/perfil_acesso/{id}`
436
- */
437
- export function deletar_pelo_id_perfil_acesso(credencial_de_acesso, id, opcoes_da_chamada) {
438
- return chamar_servico({
439
- servico: SERVICO_DESTA_API,
440
- metodo_http: "DELETE",
441
- caminho_da_rota: `/api/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
442
- credencial_de_acesso,
443
- formato_da_resposta: "sem_conteudo",
444
- }, opcoes_da_chamada);
445
- }
446
- /**
447
- * Confere se a API está no ar
448
- *
449
- * Rota pública, sem login. Responde `status: ok` e a versão do backend no ar (semver) quando o servidor está de pé; não consulta o banco nem o TermoAuth.
450
- *
451
- * `GET /healthz`
452
- */
453
- export function verificar_saude(opcoes_da_chamada) {
454
- return chamar_servico({
455
- servico: SERVICO_DESTA_API,
456
- metodo_http: "GET",
457
- caminho_da_rota: "/healthz",
458
- formato_da_resposta: "json",
459
- }, opcoes_da_chamada);
460
- }
461
- /**
462
- * Verifica se o backend está no ar
463
- *
464
- * Pública, sem token. Responde `200` com `sucesso: true` e a versão do backend no ar (semver) sempre que o servidor está de pé; não consulta o banco nem o TermoAuth.
465
- *
466
- * `GET /test`
467
- */
468
- export function verificar_saude_test(opcoes_da_chamada) {
469
- return chamar_servico({
470
- servico: SERVICO_DESTA_API,
471
- metodo_http: "GET",
472
- caminho_da_rota: "/test",
473
- formato_da_resposta: "json",
474
- }, opcoes_da_chamada);
475
- }