termo_core 0.1.0 → 0.1.2

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,137 +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_BUCKET 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 (`versao` e `versao_backend`, iguais), 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 aplicativos com paginação
21
- *
22
- * Exige qualquer permissão da área `aplicativos`. Ordena pelo nome e traz o consumo atual de cada aplicativo (quantidade e bytes dos arquivos públicos e privados). `pagina` começa em 1 (padrão 1; valores menores viram 1). `tamanho` tem padrão 10, sem máximo; valores menores que 1 viram 1. `total` conta todos os aplicativos não excluídos.
23
- *
24
- * `GET /aplicativo`
25
- */
26
- export function buscar_paginador_aplicativo(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
27
- return chamar_servico({
28
- servico: SERVICO_DESTA_API,
29
- metodo_http: "GET",
30
- caminho_da_rota: "/aplicativo",
31
- credencial_de_acesso,
32
- parametros_de_consulta: parametros,
33
- formato_da_resposta: "json",
34
- }, opcoes_da_chamada);
35
- }
36
- /**
37
- * Lista básica de aplicativos para seleção
38
- *
39
- * Exige qualquer permissão da área `aplicativos`. Devolve só id, slug e nome, em ordem alfabética de nome. `busca` procura por trecho do nome ou do slug, 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 aplicativos que casam com a busca.
40
- *
41
- * `GET /aplicativo/autocomplete`
42
- */
43
- export function buscar_auto_complete_aplicativo(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
44
- return chamar_servico({
45
- servico: SERVICO_DESTA_API,
46
- metodo_http: "GET",
47
- caminho_da_rota: "/aplicativo/autocomplete",
48
- credencial_de_acesso,
49
- parametros_de_consulta: parametros,
50
- formato_da_resposta: "json",
51
- }, opcoes_da_chamada);
52
- }
53
- /**
54
- * Busca aplicativos por filtro
55
- *
56
- * Exige qualquer permissão da área `aplicativos`. Devolve todos os aplicativos não excluídos que casam com o filtro, sem paginação, em ordem alfabética de nome, cada um com o consumo atual. `nome` e `slug` procuram por trecho, sem diferenciar maiúsculas; `ativo` filtra pela situação. Sem filtro, devolve todos.
57
- *
58
- * `GET /aplicativo/filtro`
59
- */
60
- export function buscar_pelo_filtro_aplicativo(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
61
- return chamar_servico({
62
- servico: SERVICO_DESTA_API,
63
- metodo_http: "GET",
64
- caminho_da_rota: "/aplicativo/filtro",
65
- credencial_de_acesso,
66
- parametros_de_consulta: parametros,
67
- formato_da_resposta: "json",
68
- }, opcoes_da_chamada);
69
- }
70
- /**
71
- * Busca um aplicativo pelo id
72
- *
73
- * Exige qualquer permissão da área `aplicativos`. O aplicativo é cada sistema da Termotubos que guarda arquivos no TermoBucket: `slug` é o identificador do app no TermoAuth e o prefixo dos arquivos dele, `tamanho_maximo` é o limite em bytes por arquivo e `tipos_permitidos` são os tipos MIME aceitos (`image/*` aceita qualquer imagem). Traz o consumo atual: quantidade e bytes dos arquivos públicos e privados não excluídos. Aplicativo excluído responde `404`.
74
- *
75
- * `GET /aplicativo/{id}`
76
- */
77
- export function buscar_pelo_id_aplicativo(credencial_de_acesso, id, opcoes_da_chamada) {
78
- return chamar_servico({
79
- servico: SERVICO_DESTA_API,
80
- metodo_http: "GET",
81
- caminho_da_rota: `/aplicativo/${codificar_parametro_de_caminho(id)}`,
82
- credencial_de_acesso,
83
- formato_da_resposta: "json",
84
- }, opcoes_da_chamada);
85
- }
86
- /**
87
- * Atualiza um aplicativo pelo id
88
- *
89
- * Exige a permissão `editar` da área `aplicativos`. Atualização parcial: só os campos enviados mudam e campo desconhecido é recusado. `nome` não pode ficar vazio (até 120 caracteres). `tamanho_maximo` é o limite em bytes por arquivo, maior que zero e de no máximo 99.614.720 (95 MiB, limite de envio pelo Cloudflare Workers). `tipos_permitidos` substitui a lista inteira: de 1 a 50 tipos MIME no formato `tipo/subtipo`, aceitando `tipo/*` (ex.: `image/*`); os valores são gravados em minúsculas, sem repetição. `ativo = false` faz a API de arquivos recusar o aplicativo com `403`. O `slug` não muda. Vale em até 5 minutos para a API de arquivos (cache do aplicativo).
90
- *
91
- * `PATCH /aplicativo/{id}`
92
- */
93
- export function atualizar_pelo_id_aplicativo(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
94
- return chamar_servico({
95
- servico: SERVICO_DESTA_API,
96
- metodo_http: "PATCH",
97
- caminho_da_rota: `/aplicativo/${codificar_parametro_de_caminho(id)}`,
98
- credencial_de_acesso,
99
- corpo_json: corpo_da_requisicao,
100
- formato_da_resposta: "json",
101
- }, opcoes_da_chamada);
102
- }
103
- /**
104
- * Exclui um aplicativo pelo id
105
- *
106
- * Exige a permissão `deletar` da área `aplicativos`. A exclusão é lógica e só é aceita quando o aplicativo não tem arquivos: com arquivos responde `409`, e é preciso apagá-los antes (`DELETE /aplicativo/{id}/arquivos`). Se o aplicativo voltar a chamar a API de arquivos, ele é cadastrado de novo com os limites padrão.
107
- *
108
- * `DELETE /aplicativo/{id}`
109
- */
110
- export function deletar_pelo_id_aplicativo(credencial_de_acesso, id, opcoes_da_chamada) {
111
- return chamar_servico({
112
- servico: SERVICO_DESTA_API,
113
- metodo_http: "DELETE",
114
- caminho_da_rota: `/aplicativo/${codificar_parametro_de_caminho(id)}`,
115
- credencial_de_acesso,
116
- formato_da_resposta: "sem_conteudo",
117
- }, opcoes_da_chamada);
118
- }
119
- /**
120
- * Apaga todos os arquivos de um aplicativo
121
- *
122
- * Só para master do TermoAuth (além da permissão `deletar` da área `aplicativos`). Apaga no R2 todos os objetos do prefixo do aplicativo nos buckets público e privado e marca os registros dos arquivos como excluídos. Se o R2 falhar, nada é marcado como excluído e a chamada pode ser repetida. Devolve quantos objetos saíram do R2 e quantos registros foram marcados.
123
- *
124
- * `DELETE /aplicativo/{id}/arquivos`
125
- */
126
- export function deletar_arquivos_aplicativo(credencial_de_acesso, id, opcoes_da_chamada) {
127
- return chamar_servico({
128
- servico: SERVICO_DESTA_API,
129
- metodo_http: "DELETE",
130
- caminho_da_rota: `/aplicativo/${codificar_parametro_de_caminho(id)}/arquivos`,
131
- credencial_de_acesso,
132
- formato_da_resposta: "json",
133
- }, opcoes_da_chamada);
134
- }
135
4
  /**
136
5
  * Lista os arquivos de todos os aplicativos com paginação
137
6
  *
@@ -213,357 +82,6 @@ export function enviar_conteudo_arquivo(id, parametros, opcoes_da_chamada) {
213
82
  formato_da_resposta: "sem_conteudo",
214
83
  }, opcoes_da_chamada);
215
84
  }
216
- /**
217
- * Lista acessos com paginação
218
- *
219
- * Exige qualquer permissão da área `colaboradores`. Ordena por perfil e depois por e-mail. `pagina` começa em 1 (padrão 1); `tamanho` tem padrão 10, sem máximo. Acessos excluídos não aparecem nem entram no `total`.
220
- *
221
- * `GET /auth`
222
- */
223
- export function buscar_paginador_auth(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
224
- return chamar_servico({
225
- servico: SERVICO_DESTA_API,
226
- metodo_http: "GET",
227
- caminho_da_rota: "/auth",
228
- credencial_de_acesso,
229
- parametros_de_consulta: parametros,
230
- formato_da_resposta: "json",
231
- }, opcoes_da_chamada);
232
- }
233
- /**
234
- * Cria um acesso
235
- *
236
- * Exige a permissão `criar` da área `colaboradores`. Cadastra quem pode entrar no TermoBucket: o e-mail é gravado em minúsculas, sem espaços nas pontas, com até 160 caracteres. O único perfil aceito é `colaborador`. O acesso nasce ativo e sem perfil de acesso. Para a pessoa conseguir entrar, o e-mail precisa ser `@termotubos.com.br` e existir no TermoAuth. O colaborador não se cadastra aqui: vem só do TermoAuth, pela sincronização.
237
- *
238
- * `POST /auth`
239
- */
240
- export function criar_auth(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
241
- return chamar_servico({
242
- servico: SERVICO_DESTA_API,
243
- metodo_http: "POST",
244
- caminho_da_rota: "/auth",
245
- credencial_de_acesso,
246
- corpo_json: corpo_da_requisicao,
247
- formato_da_resposta: "json",
248
- }, opcoes_da_chamada);
249
- }
250
- /**
251
- * Busca o acesso de quem está logado
252
- *
253
- * Livre para qualquer usuário autenticado com cadastro ativo, mesmo sem nenhuma permissão liberada. Devolve o cadastro de quem chamou, o nome do perfil de acesso do colaborador em `perfil_acesso` (`null` quando ainda não tem) e as permissões que o perfil dá por área (`aplicativos`, `colaboradores` e `configuracoes`), cada uma com `ler`, `criar`, `editar` e `deletar`. Um master do TermoAuth recebe todas as permissões e, no primeiro acesso, ganha o cadastro automaticamente. `nome` vem do TermoAuth e, se estiver vazio, repete o e-mail. É a chamada que o painel faz antes de mostrar qualquer tela.
254
- *
255
- * `GET /auth/acesso`
256
- */
257
- export function buscar_acesso_auth(credencial_de_acesso, opcoes_da_chamada) {
258
- return chamar_servico({
259
- servico: SERVICO_DESTA_API,
260
- metodo_http: "GET",
261
- caminho_da_rota: "/auth/acesso",
262
- credencial_de_acesso,
263
- formato_da_resposta: "json",
264
- }, opcoes_da_chamada);
265
- }
266
- /**
267
- * Lista básica de acessos para seleção
268
- *
269
- * 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` começa em 1 (padrão 1); `tamanho` tem padrão 10, sem máximo.
270
- *
271
- * `GET /auth/autocomplete`
272
- */
273
- export function buscar_auto_complete_auth(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
274
- return chamar_servico({
275
- servico: SERVICO_DESTA_API,
276
- metodo_http: "GET",
277
- caminho_da_rota: "/auth/autocomplete",
278
- credencial_de_acesso,
279
- parametros_de_consulta: parametros,
280
- formato_da_resposta: "json",
281
- }, opcoes_da_chamada);
282
- }
283
- /**
284
- * Busca acessos por filtro
285
- *
286
- * 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.
287
- *
288
- * `GET /auth/filtro`
289
- */
290
- export function buscar_pelo_filtro_auth(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
291
- return chamar_servico({
292
- servico: SERVICO_DESTA_API,
293
- metodo_http: "GET",
294
- caminho_da_rota: "/auth/filtro",
295
- credencial_de_acesso,
296
- parametros_de_consulta: parametros,
297
- formato_da_resposta: "json",
298
- }, opcoes_da_chamada);
299
- }
300
- /**
301
- * Busca um acesso pelo id
302
- *
303
- * 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.
304
- *
305
- * `GET /auth/{id}`
306
- */
307
- export function buscar_pelo_id_auth(credencial_de_acesso, id, opcoes_da_chamada) {
308
- return chamar_servico({
309
- servico: SERVICO_DESTA_API,
310
- metodo_http: "GET",
311
- caminho_da_rota: `/auth/${codificar_parametro_de_caminho(id)}`,
312
- credencial_de_acesso,
313
- formato_da_resposta: "json",
314
- }, opcoes_da_chamada);
315
- }
316
- /**
317
- * Atualiza um acesso pelo id
318
- *
319
- * 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.
320
- *
321
- * `PATCH /auth/{id}`
322
- */
323
- export function atualizar_pelo_id_auth(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
324
- return chamar_servico({
325
- servico: SERVICO_DESTA_API,
326
- metodo_http: "PATCH",
327
- caminho_da_rota: `/auth/${codificar_parametro_de_caminho(id)}`,
328
- credencial_de_acesso,
329
- corpo_json: corpo_da_requisicao,
330
- formato_da_resposta: "json",
331
- }, opcoes_da_chamada);
332
- }
333
- /**
334
- * Exclui um acesso pelo id
335
- *
336
- * 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 colaborador pertence ao TermoAuth e só sai de lá. O acesso de um master do TermoAuth não pode ser excluído.
337
- *
338
- * `DELETE /auth/{id}`
339
- */
340
- export function deletar_pelo_id_auth(credencial_de_acesso, id, opcoes_da_chamada) {
341
- return chamar_servico({
342
- servico: SERVICO_DESTA_API,
343
- metodo_http: "DELETE",
344
- caminho_da_rota: `/auth/${codificar_parametro_de_caminho(id)}`,
345
- credencial_de_acesso,
346
- formato_da_resposta: "sem_conteudo",
347
- }, opcoes_da_chamada);
348
- }
349
- /**
350
- * Lista colaboradores com paginação
351
- *
352
- * Só leitura: o colaborador é cadastrado, alterado e excluído no TermoAuth e chega aqui pela sincronização com o TermoAuth; aqui só se escolhe o perfil de acesso dele (`PATCH /colaborador/{id}/perfil_acesso`). Exige qualquer permissão da área `colaboradores`. Ordena por nome. `nome` e `cargo` filtram por trecho, sem diferenciar maiúsculas, e `ativo` pela situação. `pagina` começa em 1 (padrão 1; valores menores viram 1). `tamanho` tem padrão 10, sem máximo; valores menores que 1 viram 1. Colaboradores excluídos não aparecem nem entram no `total`, que conta os registros que casam com os filtros. Quando quem chama é master do TermoAuth, a lista antes traz do TermoAuth os colaboradores `@termotubos.com.br` que ainda não existem aqui, criando acesso e colaborador com o perfil de acesso `Acesso inicial` (só `ler` em todas as áreas, recriado se tiver sido excluído); quem já existe não é alterado e ninguém é excluído. Se o TermoAuth falhar, a lista sai mesmo assim, só sem a sincronização.
353
- *
354
- * `GET /colaborador`
355
- */
356
- export function buscar_paginador_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
357
- return chamar_servico({
358
- servico: SERVICO_DESTA_API,
359
- metodo_http: "GET",
360
- caminho_da_rota: "/colaborador",
361
- credencial_de_acesso,
362
- parametros_de_consulta: parametros,
363
- formato_da_resposta: "json",
364
- }, opcoes_da_chamada);
365
- }
366
- /**
367
- * Lista básica de colaboradores para seleção
368
- *
369
- * 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` começa em 1 (padrão 1); `tamanho` tem padrão 10, sem máximo.
370
- *
371
- * `GET /colaborador/autocomplete`
372
- */
373
- export function buscar_auto_complete_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
374
- return chamar_servico({
375
- servico: SERVICO_DESTA_API,
376
- metodo_http: "GET",
377
- caminho_da_rota: "/colaborador/autocomplete",
378
- credencial_de_acesso,
379
- parametros_de_consulta: parametros,
380
- formato_da_resposta: "json",
381
- }, opcoes_da_chamada);
382
- }
383
- /**
384
- * Busca colaboradores por filtro
385
- *
386
- * 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` 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.
387
- *
388
- * `GET /colaborador/filtro`
389
- */
390
- export function buscar_pelo_filtro_colaborador(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
391
- return chamar_servico({
392
- servico: SERVICO_DESTA_API,
393
- metodo_http: "GET",
394
- caminho_da_rota: "/colaborador/filtro",
395
- credencial_de_acesso,
396
- parametros_de_consulta: parametros,
397
- formato_da_resposta: "json",
398
- }, opcoes_da_chamada);
399
- }
400
- /**
401
- * Busca um colaborador pelo id
402
- *
403
- * Exige qualquer permissão da área `colaboradores`. Colaborador excluído responde `404`. Traz junto o e-mail do acesso, se ele é master do TermoAuth e o perfil de acesso (`perfil_acesso_id` e o nome em `perfil_acesso`).
404
- *
405
- * `GET /colaborador/{id}`
406
- */
407
- export function buscar_pelo_id_colaborador(credencial_de_acesso, id, opcoes_da_chamada) {
408
- return chamar_servico({
409
- servico: SERVICO_DESTA_API,
410
- metodo_http: "GET",
411
- caminho_da_rota: `/colaborador/${codificar_parametro_de_caminho(id)}`,
412
- credencial_de_acesso,
413
- formato_da_resposta: "json",
414
- }, opcoes_da_chamada);
415
- }
416
- /**
417
- * Define o perfil de acesso de um colaborador
418
- *
419
- * Exige a permissão `editar` da área `colaboradores`. É a única escrita do colaborador feita pelo TermoBucket: `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).
420
- *
421
- * `PATCH /colaborador/{id}/perfil_acesso`
422
- */
423
- export function vincular_perfil_acesso_colaborador(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
424
- return chamar_servico({
425
- servico: SERVICO_DESTA_API,
426
- metodo_http: "PATCH",
427
- caminho_da_rota: `/colaborador/${codificar_parametro_de_caminho(id)}/perfil_acesso`,
428
- credencial_de_acesso,
429
- corpo_json: corpo_da_requisicao,
430
- formato_da_resposta: "json",
431
- }, opcoes_da_chamada);
432
- }
433
- /**
434
- * Lista o registro das requisições recebidas
435
- *
436
- * Exige qualquer permissão da área `configuracoes`. Lista as requisições que o backend recebeu, da mais nova para a mais antiga, com método, caminho, consulta, status, duração, IP, cabeçalhos e os corpos da requisição e da resposta. O cabeçalho `Authorization` e as URLs assinadas saem mascarados. `pagina` começa em 1 (padrão 1; valores menores viram 1) e `tamanho` tem padrão 20, entre 1 e 100.
437
- *
438
- * `GET /log`
439
- */
440
- export function buscar_paginador_log(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
441
- return chamar_servico({
442
- servico: SERVICO_DESTA_API,
443
- metodo_http: "GET",
444
- caminho_da_rota: "/log",
445
- credencial_de_acesso,
446
- parametros_de_consulta: parametros,
447
- formato_da_resposta: "json",
448
- }, opcoes_da_chamada);
449
- }
450
- /**
451
- * Lista os perfis de acesso com paginação
452
- *
453
- * 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). `tamanho` tem padrão 10, sem máximo; valores menores que 1 viram 1. `total` conta todos os registros não excluídos.
454
- *
455
- * `GET /perfil_acesso`
456
- */
457
- export function buscar_paginador_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
458
- return chamar_servico({
459
- servico: SERVICO_DESTA_API,
460
- metodo_http: "GET",
461
- caminho_da_rota: "/perfil_acesso",
462
- credencial_de_acesso,
463
- parametros_de_consulta: parametros,
464
- formato_da_resposta: "json",
465
- }, opcoes_da_chamada);
466
- }
467
- /**
468
- * Cria um perfil de acesso
469
- *
470
- * Exige a permissão `criar` da área `colaboradores`. O perfil de acesso é o conjunto de permissões que o TermoBucket 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 (`aplicativos`, `colaboradores` e `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.
471
- *
472
- * `POST /perfil_acesso`
473
- */
474
- export function criar_perfil_acesso(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
475
- return chamar_servico({
476
- servico: SERVICO_DESTA_API,
477
- metodo_http: "POST",
478
- caminho_da_rota: "/perfil_acesso",
479
- credencial_de_acesso,
480
- corpo_json: corpo_da_requisicao,
481
- formato_da_resposta: "json",
482
- }, opcoes_da_chamada);
483
- }
484
- /**
485
- * Lista básica de perfis de acesso para seleção
486
- *
487
- * 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.
488
- *
489
- * `GET /perfil_acesso/autocomplete`
490
- */
491
- export function buscar_auto_complete_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
492
- return chamar_servico({
493
- servico: SERVICO_DESTA_API,
494
- metodo_http: "GET",
495
- caminho_da_rota: "/perfil_acesso/autocomplete",
496
- credencial_de_acesso,
497
- parametros_de_consulta: parametros,
498
- formato_da_resposta: "json",
499
- }, opcoes_da_chamada);
500
- }
501
- /**
502
- * Busca perfis de acesso por filtro
503
- *
504
- * 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).
505
- *
506
- * `GET /perfil_acesso/filtro`
507
- */
508
- export function buscar_pelo_filtro_perfil_acesso(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
509
- return chamar_servico({
510
- servico: SERVICO_DESTA_API,
511
- metodo_http: "GET",
512
- caminho_da_rota: "/perfil_acesso/filtro",
513
- credencial_de_acesso,
514
- parametros_de_consulta: parametros,
515
- formato_da_resposta: "json",
516
- }, opcoes_da_chamada);
517
- }
518
- /**
519
- * Busca um perfil de acesso pelo id
520
- *
521
- * Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Perfil excluído responde `404`.
522
- *
523
- * `GET /perfil_acesso/{id}`
524
- */
525
- export function buscar_pelo_id_perfil_acesso(credencial_de_acesso, id, opcoes_da_chamada) {
526
- return chamar_servico({
527
- servico: SERVICO_DESTA_API,
528
- metodo_http: "GET",
529
- caminho_da_rota: `/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
530
- credencial_de_acesso,
531
- formato_da_resposta: "json",
532
- }, opcoes_da_chamada);
533
- }
534
- /**
535
- * Atualiza um perfil de acesso pelo id
536
- *
537
- * 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).
538
- *
539
- * `PATCH /perfil_acesso/{id}`
540
- */
541
- export function atualizar_pelo_id_perfil_acesso(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
542
- return chamar_servico({
543
- servico: SERVICO_DESTA_API,
544
- metodo_http: "PATCH",
545
- caminho_da_rota: `/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
546
- credencial_de_acesso,
547
- corpo_json: corpo_da_requisicao,
548
- formato_da_resposta: "json",
549
- }, opcoes_da_chamada);
550
- }
551
- /**
552
- * Exclui um perfil de acesso pelo id
553
- *
554
- * 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.
555
- *
556
- * `DELETE /perfil_acesso/{id}`
557
- */
558
- export function deletar_pelo_id_perfil_acesso(credencial_de_acesso, id, opcoes_da_chamada) {
559
- return chamar_servico({
560
- servico: SERVICO_DESTA_API,
561
- metodo_http: "DELETE",
562
- caminho_da_rota: `/perfil_acesso/${codificar_parametro_de_caminho(id)}`,
563
- credencial_de_acesso,
564
- formato_da_resposta: "sem_conteudo",
565
- }, opcoes_da_chamada);
566
- }
567
85
  /**
568
86
  * Lista os arquivos privados do aplicativo com paginação
569
87
  *
@@ -696,18 +214,3 @@ export function publico_deletar_pelo_id_arquivo(credencial_de_acesso, app, id, o
696
214
  formato_da_resposta: "sem_conteudo",
697
215
  }, opcoes_da_chamada);
698
216
  }
699
- /**
700
- * Verifica se o backend está no ar
701
- *
702
- * 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.
703
- *
704
- * `GET /test`
705
- */
706
- export function verificar_saude_test(opcoes_da_chamada) {
707
- return chamar_servico({
708
- servico: SERVICO_DESTA_API,
709
- metodo_http: "GET",
710
- caminho_da_rota: "/test",
711
- formato_da_resposta: "json",
712
- }, opcoes_da_chamada);
713
- }