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,18 +1,3 @@
1
- export interface AcessoAtual {
2
- email: string;
3
- id: string;
4
- master: boolean;
5
- nome: string;
6
- perfil: string;
7
- perfil_acesso?: string | null;
8
- permissoes: Permissoes;
9
- }
10
- export interface Acoes {
11
- criar?: boolean;
12
- deletar?: boolean;
13
- editar?: boolean;
14
- ler?: boolean;
15
- }
16
1
  export interface Aplicativo {
17
2
  atualizado_em: string;
18
3
  chave: string;
@@ -44,74 +29,6 @@ export interface AplicativoCriar {
44
29
  franquia_mensal?: number;
45
30
  nome: string;
46
31
  }
47
- export interface Auth {
48
- ativo: boolean;
49
- atualizado_em: string;
50
- bloqueado_ate?: string | null;
51
- criado_em: string;
52
- email: string;
53
- id: string;
54
- master: boolean;
55
- nome?: string | null;
56
- perfil: string;
57
- termoauth_id?: string | null;
58
- ultimo_login_em?: string | null;
59
- vinculado: boolean;
60
- }
61
- export interface AuthAtualizar {
62
- ativo?: boolean | null;
63
- email?: string | null;
64
- }
65
- export interface AuthAutoComplete {
66
- email: string;
67
- id: string;
68
- perfil: string;
69
- }
70
- export interface AuthCriar {
71
- email: string;
72
- perfil: string;
73
- }
74
- export interface Colaborador {
75
- ativo: boolean;
76
- atualizado_em: string;
77
- auth_id: string;
78
- cargo?: string | null;
79
- criado_em: string;
80
- email: string;
81
- funcao?: string | null;
82
- id: string;
83
- master: boolean;
84
- nome: string;
85
- perfil_acesso?: string | null;
86
- perfil_acesso_id?: string | null;
87
- setor?: string | null;
88
- telefone?: string | null;
89
- }
90
- export interface ColaboradorAutoComplete {
91
- email: string;
92
- id: string;
93
- nome: string;
94
- }
95
- export interface ColaboradorVincularPerfilAcesso {
96
- perfil_acesso_id?: string | null;
97
- }
98
- export interface Configuracao {
99
- atualizado_em: string;
100
- atualizado_por?: string | null;
101
- criptografia_disponivel: boolean;
102
- segredo_do_app_gerado_no_termo_auth: ValorProtegido;
103
- }
104
- export interface ConfiguracaoAtualizar {
105
- segredo_do_app_gerado_no_termo_auth?: string | null;
106
- }
107
- export interface EntregaDoTermoWebhook {
108
- dados: Record<string, unknown>;
109
- entidade_id: string;
110
- id: string;
111
- ocorrido_em: string;
112
- tipo: string;
113
- versao: number;
114
- }
115
32
  export interface Erro {
116
33
  aplicativo_id: string;
117
34
  arquivo?: string | null;
@@ -180,33 +97,6 @@ export interface EventoAutoComplete {
180
97
  id: string;
181
98
  rotulo: string;
182
99
  }
183
- export interface EventoCriar {
184
- chave: string;
185
- eventos: Array<EventoRecebido>;
186
- sessao: SessaoRecebida;
187
- }
188
- export interface EventoRecebido {
189
- arquivo?: string | null;
190
- coluna?: number | null;
191
- duracao_ms?: number | null;
192
- evento_id?: string | null;
193
- linha?: number | null;
194
- mensagem?: string | null;
195
- metodo?: string | null;
196
- metrica?: string | null;
197
- nivel?: string | null;
198
- nome?: string;
199
- ocorrido_em?: string | null;
200
- payload?: unknown;
201
- pilha?: string | null;
202
- seletor?: string | null;
203
- status?: number | null;
204
- texto?: string | null;
205
- tipo: string;
206
- url?: string | null;
207
- usuario_id?: string | null;
208
- valor?: number | null;
209
- }
210
100
  export interface PaginaAplicativoItensItem {
211
101
  atualizado_em: string;
212
102
  chave: string;
@@ -237,70 +127,6 @@ export interface PaginaAplicativoAutoComplete {
237
127
  tamanho: number;
238
128
  total: number;
239
129
  }
240
- export interface PaginaAuthItensItem {
241
- ativo: boolean;
242
- atualizado_em: string;
243
- bloqueado_ate?: string | null;
244
- criado_em: string;
245
- email: string;
246
- id: string;
247
- master: boolean;
248
- nome?: string | null;
249
- perfil: string;
250
- termoauth_id?: string | null;
251
- ultimo_login_em?: string | null;
252
- vinculado: boolean;
253
- }
254
- export interface PaginaAuth {
255
- itens: Array<PaginaAuthItensItem>;
256
- pagina: number;
257
- tamanho: number;
258
- total: number;
259
- }
260
- export interface PaginaAuthAutoCompleteItensItem {
261
- email: string;
262
- id: string;
263
- perfil: string;
264
- }
265
- export interface PaginaAuthAutoComplete {
266
- itens: Array<PaginaAuthAutoCompleteItensItem>;
267
- pagina: number;
268
- tamanho: number;
269
- total: number;
270
- }
271
- export interface PaginaColaboradorItensItem {
272
- ativo: boolean;
273
- atualizado_em: string;
274
- auth_id: string;
275
- cargo?: string | null;
276
- criado_em: string;
277
- email: string;
278
- funcao?: string | null;
279
- id: string;
280
- master: boolean;
281
- nome: string;
282
- perfil_acesso?: string | null;
283
- perfil_acesso_id?: string | null;
284
- setor?: string | null;
285
- telefone?: string | null;
286
- }
287
- export interface PaginaColaborador {
288
- itens: Array<PaginaColaboradorItensItem>;
289
- pagina: number;
290
- tamanho: number;
291
- total: number;
292
- }
293
- export interface PaginaColaboradorAutoCompleteItensItem {
294
- email: string;
295
- id: string;
296
- nome: string;
297
- }
298
- export interface PaginaColaboradorAutoComplete {
299
- itens: Array<PaginaColaboradorAutoCompleteItensItem>;
300
- pagina: number;
301
- tamanho: number;
302
- total: number;
303
- }
304
130
  export interface PaginaErroItensItem {
305
131
  aplicativo_id: string;
306
132
  arquivo?: string | null;
@@ -378,31 +204,6 @@ export interface PaginaEventoAutoComplete {
378
204
  tamanho: number;
379
205
  total: number;
380
206
  }
381
- export interface PaginaPerfilAcessoItensItem {
382
- atualizado_em: string;
383
- colaboradores: number;
384
- criado_em: string;
385
- descricao?: string | null;
386
- id: string;
387
- nome: string;
388
- permissoes: Permissoes;
389
- }
390
- export interface PaginaPerfilAcesso {
391
- itens: Array<PaginaPerfilAcessoItensItem>;
392
- pagina: number;
393
- tamanho: number;
394
- total: number;
395
- }
396
- export interface PaginaPerfilAcessoAutoCompleteItensItem {
397
- id: string;
398
- nome: string;
399
- }
400
- export interface PaginaPerfilAcessoAutoComplete {
401
- itens: Array<PaginaPerfilAcessoAutoCompleteItensItem>;
402
- pagina: number;
403
- tamanho: number;
404
- total: number;
405
- }
406
207
  export interface PaginaSessaoItensItem {
407
208
  anonimo_id: string;
408
209
  aplicativo_id: string;
@@ -466,46 +267,9 @@ export interface PaginaUsoAutoComplete {
466
267
  tamanho: number;
467
268
  total: number;
468
269
  }
469
- export interface PerfilAcesso {
470
- atualizado_em: string;
471
- colaboradores: number;
472
- criado_em: string;
473
- descricao?: string | null;
474
- id: string;
475
- nome: string;
476
- permissoes: Permissoes;
477
- }
478
- export interface PerfilAcessoAtualizar {
479
- descricao?: string | null;
480
- nome?: string | null;
481
- permissoes?: Permissoes | null;
482
- }
483
- export interface PerfilAcessoAutoComplete {
484
- id: string;
485
- nome: string;
486
- }
487
- export interface PerfilAcessoCriar {
488
- descricao?: string | null;
489
- nome: string;
490
- permissoes?: Permissoes;
491
- }
492
- export interface Permissoes {
493
- aplicativos?: Acoes;
494
- colaboradores?: Acoes;
495
- rastreamento?: Acoes;
496
- }
497
270
  export interface RespostaDeErro {
498
271
  erro: string;
499
272
  }
500
- export interface ResultadoIngestao {
501
- aceitos: number;
502
- recusados: number;
503
- }
504
- export interface SaudeDoBackend {
505
- mensagem: string;
506
- sucesso: boolean;
507
- versao: string;
508
- }
509
273
  export interface Sessao {
510
274
  anonimo_id: string;
511
275
  aplicativo_id: string;
@@ -546,16 +310,6 @@ export interface SessaoCriar {
546
310
  sistema_operacional?: string;
547
311
  usuario_id?: string | null;
548
312
  }
549
- export interface SessaoRecebida {
550
- anonimo_id: string;
551
- dispositivo?: string;
552
- navegador?: string;
553
- pagina_inicial?: string;
554
- resolucao?: string;
555
- sessao_externa: string;
556
- sistema_operacional?: string;
557
- usuario_id?: string | null;
558
- }
559
313
  export interface Uso {
560
314
  aplicativo_id: string;
561
315
  aplicativo_nome: string;
@@ -582,7 +336,3 @@ export interface UsoCriar {
582
336
  eventos_aceitos?: number;
583
337
  eventos_recusados?: number;
584
338
  }
585
- export interface ValorProtegido {
586
- configurado: boolean;
587
- final_visivel?: string | null;
588
- }
@@ -46,61 +46,6 @@ export interface ParametrosDeBuscarPeloFiltroAssinatura {
46
46
  tipo_de_evento_id?: string;
47
47
  ativa?: boolean;
48
48
  }
49
- /**
50
- * Parâmetros de consulta e de cabeçalho de `/auth`.
51
- */
52
- export interface ParametrosDeBuscarPaginadorAuth {
53
- pagina?: number;
54
- tamanho?: number;
55
- }
56
- /**
57
- * Parâmetros de consulta e de cabeçalho de `/auth/autocomplete`.
58
- */
59
- export interface ParametrosDeBuscarAutoCompleteAuth {
60
- busca?: string;
61
- perfil?: string;
62
- pagina?: number;
63
- tamanho?: number;
64
- }
65
- /**
66
- * Parâmetros de consulta e de cabeçalho de `/auth/filtro`.
67
- */
68
- export interface ParametrosDeBuscarPeloFiltroAuth {
69
- email?: string;
70
- perfil?: string;
71
- ativo?: boolean;
72
- }
73
- /**
74
- * Parâmetros de consulta e de cabeçalho de `/colaborador`.
75
- */
76
- export interface ParametrosDeBuscarPaginadorColaborador {
77
- pagina?: number;
78
- tamanho?: number;
79
- nome?: string;
80
- setor?: string;
81
- cargo?: string;
82
- ativo?: boolean;
83
- }
84
- /**
85
- * Parâmetros de consulta e de cabeçalho de `/colaborador/autocomplete`.
86
- */
87
- export interface ParametrosDeBuscarAutoCompleteColaborador {
88
- busca?: string;
89
- pagina?: number;
90
- tamanho?: number;
91
- }
92
- /**
93
- * Parâmetros de consulta e de cabeçalho de `/colaborador/filtro`.
94
- */
95
- export interface ParametrosDeBuscarPeloFiltroColaborador {
96
- busca?: string;
97
- nome?: string;
98
- email?: string;
99
- setor?: string;
100
- cargo?: string;
101
- ativo?: boolean;
102
- perfil_acesso_id?: string;
103
- }
104
49
  /**
105
50
  * Parâmetros de consulta e de cabeçalho de `/entrega`.
106
51
  */
@@ -154,27 +99,6 @@ export interface ParametrosDeBuscarPeloFiltroEventoRecusado {
154
99
  desde?: string;
155
100
  ate?: string;
156
101
  }
157
- /**
158
- * Parâmetros de consulta e de cabeçalho de `/perfil_acesso`.
159
- */
160
- export interface ParametrosDeBuscarPaginadorPerfilAcesso {
161
- pagina?: number;
162
- tamanho?: number;
163
- }
164
- /**
165
- * Parâmetros de consulta e de cabeçalho de `/perfil_acesso/autocomplete`.
166
- */
167
- export interface ParametrosDeBuscarAutoCompletePerfilAcesso {
168
- busca?: string;
169
- pagina?: number;
170
- tamanho?: number;
171
- }
172
- /**
173
- * Parâmetros de consulta e de cabeçalho de `/perfil_acesso/filtro`.
174
- */
175
- export interface ParametrosDeBuscarPeloFiltroPerfilAcesso {
176
- nome?: string;
177
- }
178
102
  /**
179
103
  * Parâmetros de consulta e de cabeçalho de `/solicitacao_de_reprocessamento`.
180
104
  */
@@ -235,51 +159,6 @@ export interface ParametrosDeBuscarPeloFiltroVersaoDeEsquema {
235
159
  tipo_de_evento_id?: string;
236
160
  situacao?: string;
237
161
  }
238
- /**
239
- * Parâmetros de consulta e de cabeçalho de `/webhooks/termowebhook`.
240
- */
241
- export interface ParametrosDeWebhooksReceberEventoTermoWebhook {
242
- /**
243
- * Horário Unix em segundos da entrega; tolerância de 5 minutos
244
- *
245
- * Enviado no cabeçalho `X-TermoWebhook-Data`.
246
- */
247
- "X-TermoWebhook-Data": number;
248
- /**
249
- * `kid` da chave do hub que assinou
250
- *
251
- * Enviado no cabeçalho `X-TermoWebhook-Chave`.
252
- */
253
- "X-TermoWebhook-Chave": string;
254
- /**
255
- * Id do aplicativo assinante, o mesmo do TermoAuth
256
- *
257
- * Enviado no cabeçalho `X-TermoWebhook-Destino`.
258
- */
259
- "X-TermoWebhook-Destino": string;
260
- /**
261
- * `ed25519=<base64url>` sobre `<data>.<aplicativo_assinante_id>.<corpo>`
262
- *
263
- * Enviado no cabeçalho `X-TermoWebhook-Assinatura`.
264
- */
265
- "X-TermoWebhook-Assinatura": string;
266
- }
267
- /**
268
- * Versão do backend no ar
269
- *
270
- * Pública, sem token. Devolve `sucesso: true` e a versão do backend que está publicada, no formato semver.
271
- *
272
- * `GET /`
273
- */
274
- export declare function buscar_versao_test(opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.VersaoDoBackend>;
275
- /**
276
- * Chaves públicas que conferem as entregas
277
- *
278
- * Pública, sem token. Lista as chaves públicas Ed25519 (JWKS, `kty: OKP`, `crv: Ed25519`, `alg: EdDSA`) com que o hub assina cada entrega. O assinante confere `X-TermoWebhook-Assinatura: ed25519=<base64url>` sobre `<X-TermoWebhook-Data>.<id do próprio aplicativo>.<corpo>` com a chave do `kid` em `X-TermoWebhook-Chave`. Pode guardar em cache por 5 minutos e buscar de novo quando chegar um `kid` desconhecido.
279
- *
280
- * `GET /.well-known/jwks.json`
281
- */
282
- export declare function buscar_paginador_chave_de_assinatura(opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.ConjuntoDeChaves>;
283
162
  /**
284
163
  * Lista os aplicativos paginados
285
164
  *
@@ -368,126 +247,6 @@ export declare function atualizar_pelo_id_assinatura(credencial_de_acesso: Crede
368
247
  * `DELETE /assinatura/{id}`
369
248
  */
370
249
  export declare function deletar_pelo_id_assinatura(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
371
- /**
372
- * Lista acessos com paginação
373
- *
374
- * 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`.
375
- *
376
- * `GET /auth`
377
- */
378
- export declare function buscar_paginador_auth(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPaginadorAuth, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaAuth>;
379
- /**
380
- * Cria um acesso
381
- *
382
- * Exige a permissão `criar` da área `colaboradores`. Cadastra quem pode entrar no TermoWebhook: 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 (nome, setor, cargo e função) não se cadastra aqui: vem só do TermoAuth, pelos eventos do TermoWebhook.
383
- *
384
- * `POST /auth`
385
- */
386
- export declare function criar_auth(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.AuthCriar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Auth>;
387
- /**
388
- * Busca o acesso de quem está logado
389
- *
390
- * 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 (`monitoramento`, `aplicativos`, `contratos`, `assinaturas` e `colaboradores`), 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.
391
- *
392
- * `GET /auth/acesso`
393
- */
394
- export declare function buscar_acesso_auth(credencial_de_acesso: CredencialDeAcesso, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.AcessoAtual>;
395
- /**
396
- * Lista básica de acessos para seleção
397
- *
398
- * 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.
399
- *
400
- * `GET /auth/autocomplete`
401
- */
402
- export declare function buscar_auto_complete_auth(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarAutoCompleteAuth, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaAuthAutoComplete>;
403
- /**
404
- * Busca acessos por filtro
405
- *
406
- * 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.
407
- *
408
- * `GET /auth/filtro`
409
- */
410
- export declare function buscar_pelo_filtro_auth(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPeloFiltroAuth, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.Auth>>;
411
- /**
412
- * Busca um acesso pelo id
413
- *
414
- * 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.
415
- *
416
- * `GET /auth/{id}`
417
- */
418
- export declare function buscar_pelo_id_auth(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Auth>;
419
- /**
420
- * Atualiza um acesso pelo id
421
- *
422
- * 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.
423
- *
424
- * `PATCH /auth/{id}`
425
- */
426
- export declare function atualizar_pelo_id_auth(credencial_de_acesso: CredencialDeAcesso, id: string, corpo_da_requisicao: tipos.AuthAtualizar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Auth>;
427
- /**
428
- * Exclui um acesso pelo id
429
- *
430
- * 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.
431
- *
432
- * `DELETE /auth/{id}`
433
- */
434
- export declare function deletar_pelo_id_auth(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
435
- /**
436
- * Lista colaboradores com paginação
437
- *
438
- * Só leitura: o colaborador é cadastrado, alterado e excluído no TermoAuth e chega aqui pelos eventos `colaborador.criado` e `colaborador.atualizado` do TermoWebhook; 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`, `setor` 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). A página tem sempre 50 itens: `tamanho` é aceito, mas ignorado. 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ó leitura em todas as áreas); 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.
439
- *
440
- * `GET /colaborador`
441
- */
442
- export declare function buscar_paginador_colaborador(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPaginadorColaborador, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaColaborador>;
443
- /**
444
- * Lista básica de colaboradores para seleção
445
- *
446
- * 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.
447
- *
448
- * `GET /colaborador/autocomplete`
449
- */
450
- export declare function buscar_auto_complete_colaborador(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarAutoCompleteColaborador, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaColaboradorAutoComplete>;
451
- /**
452
- * Busca colaboradores por filtro
453
- *
454
- * 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.
455
- *
456
- * `GET /colaborador/filtro`
457
- */
458
- export declare function buscar_pelo_filtro_colaborador(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPeloFiltroColaborador, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.Colaborador>>;
459
- /**
460
- * Busca um colaborador pelo id
461
- *
462
- * 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`).
463
- *
464
- * `GET /colaborador/{id}`
465
- */
466
- export declare function buscar_pelo_id_colaborador(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Colaborador>;
467
- /**
468
- * Define o perfil de acesso de um colaborador
469
- *
470
- * Exige a permissão `editar` da área `colaboradores`. É a única escrita do colaborador feita pelo TermoWebhook: `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).
471
- *
472
- * `PATCH /colaborador/{id}/perfil_acesso`
473
- */
474
- export declare function vincular_perfil_acesso_colaborador(credencial_de_acesso: CredencialDeAcesso, id: string, corpo_da_requisicao: tipos.ColaboradorVincularPerfilAcesso, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Colaborador>;
475
- /**
476
- * Mostra se o segredo do app está cadastrado
477
- *
478
- * Só o master do TermoAuth (os demais recebem `403`). Devolve a configuração única do TermoWebhook (tela `/painel/configuracoes/provedores`). O segredo do app gerado no TermoAuth nunca volta aberto: só `configurado` e o final mascarado (`final_visivel`). Fica cifrado no banco com AES-256-GCM e a chave derivada de `GLOBAL_SECRET_CRIPTOGRAFIA`; sem essa variável no servidor, ou se ela mudou, `configurado` vem `false`.
479
- *
480
- * `GET /configuracao`
481
- */
482
- export declare function buscar_pelo_id_configuracao(credencial_de_acesso: CredencialDeAcesso, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Configuracao>;
483
- /**
484
- * Grava ou limpa o segredo do app
485
- *
486
- * Só o master do TermoAuth (os demais recebem `403`). `segredo_do_app_gerado_no_termo_auth` ausente fica como está, string troca (até 2.000 caracteres, sem quebra de linha; vazia conta como limpar) e `null` limpa. O valor é cifrado com a `GLOBAL_SECRET_CRIPTOGRAFIA` e entregue na hora ao `termo_core`, sem deploy. A resposta é a mesma do `GET`.
487
- *
488
- * `PATCH /configuracao`
489
- */
490
- export declare function atualizar_pelo_id_configuracao(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.ConfiguracaoAtualizar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Configuracao>;
491
250
  /**
492
251
  * Lista entregas com paginação
493
252
  *
@@ -592,78 +351,6 @@ export declare function buscar_pelo_filtro_evento_recusado(credencial_de_acesso:
592
351
  * `GET /evento_recusado/{id}`
593
352
  */
594
353
  export declare function buscar_pelo_id_evento_recusado(credencial_de_acesso: CredencialDeAcesso, id: number, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.EventoRecusado>;
595
- /**
596
- * Publica um evento no hub
597
- *
598
- * Exige o token de aplicativo do TermoAuth (`Authorization: Bearer <token>`, `tipo: aplicativo`): é aqui que cada aplicativo publica os eventos dos dados de que é dono. Token de usuário não publica.
599
- *
600
- * **Token.** O app troca o segredo dele (`SEGREDO_DO_APP_GERADO_NO_TERMO_AUTH`) por um JWT de 15 minutos em `POST /token_de_app` do TermoAuth; o `termo_core` faz isso sozinho. O hub valida o JWT offline pelo JWKS do TermoAuth. O publicador é o aplicativo cujo `identificador_no_termoauth` é o `sub` do token; se ele ainda não existir, é criado na hora com o `name` do token, ativo e sem tipos de evento.
601
- *
602
- * **Corpo.** JSON de até 1 MiB com o envelope `{ id, tipo, versao, entidade_id, ocorrido_em, dados }`: `id` é um UUID (de preferência UUIDv7) gerado pelo publicador e é a chave de idempotência; `tipo` é o nome do tipo de evento no catálogo; `versao` é o número da versão do esquema (maior que zero); `entidade_id` tem de 1 a 200 caracteres; `ocorrido_em` é RFC 3339; `dados` é validado contra o JSON Schema da versão.
603
- *
604
- * **Ordem das verificações.** Token, aplicativo ativo, envelope, tipo cadastrado e ativo, publicador dono do tipo, versão cadastrada e não desligada, e os `dados` contra o contrato. Toda recusa fica registrada nos eventos recusados do painel com o `motivo` devolvido: `token_invalido`, `aplicativo_inativo`, `envelope_invalido`, `tipo_desconhecido`, `tipo_inativo`, `publicador_nao_e_dono`, `versao_inexistente`, `versao_desligada` ou `dados_fora_do_contrato`.
605
- *
606
- * **Idempotência.** Um `id` já recebido responde `200` com `situacao: repetido` e não cria entregas de novo, então reenviar depois de uma falha de rede é seguro. Aceito, o evento é entregue a todas as assinaturas ativas da versão publicada, pelo menos uma vez cada. Publicar numa versão descontinuada é aceito, mas volta um `aviso` pedindo a migração.
607
- *
608
- * `POST /eventos`
609
- */
610
- export declare function receber_evento_eventos(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.EnvelopeDoEvento, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PublicacaoRepetida>;
611
- /**
612
- * Lista os perfis de acesso com paginação
613
- *
614
- * 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.
615
- *
616
- * `GET /perfil_acesso`
617
- */
618
- export declare function buscar_paginador_perfil_acesso(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPaginadorPerfilAcesso, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaPerfilAcesso>;
619
- /**
620
- * Cria um perfil de acesso
621
- *
622
- * Exige a permissão `criar` da área `colaboradores`. O perfil de acesso é o conjunto de permissões que o TermoWebhook 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 (`monitoramento`, `aplicativos`, `contratos`, `assinaturas` e `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.
623
- *
624
- * `POST /perfil_acesso`
625
- */
626
- export declare function criar_perfil_acesso(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.PerfilAcessoCriar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PerfilAcesso>;
627
- /**
628
- * Lista básica de perfis de acesso para seleção
629
- *
630
- * 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.
631
- *
632
- * `GET /perfil_acesso/autocomplete`
633
- */
634
- export declare function buscar_auto_complete_perfil_acesso(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarAutoCompletePerfilAcesso, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaPerfilAcessoAutoComplete>;
635
- /**
636
- * Busca perfis de acesso por filtro
637
- *
638
- * 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).
639
- *
640
- * `GET /perfil_acesso/filtro`
641
- */
642
- export declare function buscar_pelo_filtro_perfil_acesso(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPeloFiltroPerfilAcesso, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.PerfilAcesso>>;
643
- /**
644
- * Busca um perfil de acesso pelo id
645
- *
646
- * Exige qualquer permissão da área `colaboradores` (qualquer ação liberada na área já libera a leitura). Perfil excluído responde `404`.
647
- *
648
- * `GET /perfil_acesso/{id}`
649
- */
650
- export declare function buscar_pelo_id_perfil_acesso(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PerfilAcesso>;
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 declare function atualizar_pelo_id_perfil_acesso(credencial_de_acesso: CredencialDeAcesso, id: string, corpo_da_requisicao: tipos.PerfilAcessoAtualizar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PerfilAcesso>;
659
- /**
660
- * Exclui um perfil de acesso pelo id
661
- *
662
- * 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.
663
- *
664
- * `DELETE /perfil_acesso/{id}`
665
- */
666
- export declare function deletar_pelo_id_perfil_acesso(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
667
354
  /**
668
355
  * Lista solicitações de reprocessamento com paginação
669
356
  *
@@ -702,14 +389,6 @@ export declare function buscar_pelo_filtro_solicitacao_de_reprocessamento(creden
702
389
  * `GET /solicitacao_de_reprocessamento/{id}`
703
390
  */
704
391
  export declare function buscar_pelo_id_solicitacao_de_reprocessamento(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.SolicitacaoDeReprocessamento>;
705
- /**
706
- * Verifica se o backend está no ar
707
- *
708
- * 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.
709
- *
710
- * `GET /test`
711
- */
712
- export declare function verificar_saude_test(opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.SaudeDoBackend>;
713
392
  /**
714
393
  * Lista os tipos de evento paginados
715
394
  *
@@ -822,15 +501,3 @@ export declare function atualizar_pelo_id_versao_de_esquema(credencial_de_acesso
822
501
  * `DELETE /versao_de_esquema/{id}`
823
502
  */
824
503
  export declare function deletar_pelo_id_versao_de_esquema(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
825
- /**
826
- * Recebe as entregas do hub como assinante
827
- *
828
- * Pública, sem token do usuário: é onde o próprio TermoWebhook, como assinante, recebe as entregas do hub. A assinatura é conferida pelo crate `termo_core` (feature `webhook_receber`) com a chave pública do hub (endereço do hub pelo `AMBIENTE` + `/.well-known/jwks.json`) e o id do aplicativo, que é o mesmo do TermoAuth e vem do token de aplicativo (sem variável de ambiente).
829
- *
830
- * **Eventos assinados.** `colaborador.criado` v1 cria o acesso e o colaborador de quem ainda não existe aqui, com o perfil de acesso "Acesso inicial" (só leitura em todas as áreas). `colaborador.atualizado` v1 grava e-mail e master, o nome só quando `nome` está em `campos_alterados`, e a troca de perfil liga ou desliga o acesso (virou cliente desliga, voltou a colaborador religa); quem é colaborador e ainda não existe é criado.
831
- *
832
- * **Ordem e repetição.** A entrega é pelo menos uma vez e sem ordem garantida: a alteração só é aplicada quando o `ocorrido_em` é mais novo que o do último evento aplicado àquele acesso; o repetido ou atrasado responde `200` sem mudar nada. Tipo que o app não assina responde `200`.
833
- *
834
- * `POST /webhooks/termowebhook`
835
- */
836
- export declare function webhooks_receber_evento_termo_webhook(parametros: ParametrosDeWebhooksReceberEventoTermoWebhook, corpo_da_requisicao: tipos.EntregaRecebida, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;