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.
@@ -1,68 +1,3 @@
1
- export interface AcessoAtual {
2
- /**
3
- * E-mail do usuário, sempre `@termotubos.com.br`
4
- */
5
- email: string;
6
- /**
7
- * Id do usuário no TermoAuth (o `sub` do token)
8
- */
9
- id: string;
10
- /**
11
- * `true` quando o token traz `isMaster`: tem todas as permissões e libera a importação da base
12
- */
13
- master: boolean;
14
- /**
15
- * Nome do usuário (o e-mail quando o token não traz nome)
16
- */
17
- nome: string;
18
- /**
19
- * Nome do perfil de acesso da pessoa; `null` quando não tem perfil
20
- */
21
- perfil_acesso?: string | null;
22
- /**
23
- * Ações liberadas em cada área (todas para o master)
24
- */
25
- permissoes: Permissoes;
26
- }
27
- export interface Acoes {
28
- /**
29
- * Libera o cadastro na área
30
- */
31
- criar?: boolean;
32
- /**
33
- * Libera a exclusão na área
34
- */
35
- deletar?: boolean;
36
- /**
37
- * Libera a alteração na área
38
- */
39
- editar?: boolean;
40
- /**
41
- * Libera a leitura da área (qualquer outra ação liberada já libera a leitura)
42
- */
43
- ler?: boolean;
44
- }
45
- /**
46
- * Estado de um arquivo individual no lote.
47
- */
48
- export interface ArquivoStatus {
49
- /**
50
- * Bytes baixados
51
- */
52
- bytes: number;
53
- /**
54
- * `pendente`, `baixando`, `concluido` ou `falha`
55
- */
56
- estado: string;
57
- /**
58
- * Nome do arquivo
59
- */
60
- nome: string;
61
- /**
62
- * Tamanho do arquivo em bytes, quando conhecido
63
- */
64
- total?: number | null;
65
- }
66
1
  export interface Cnpj {
67
2
  /**
68
3
  * Bairro
@@ -355,329 +290,6 @@ export interface CnpjResumo {
355
290
  */
356
291
  uf?: string | null;
357
292
  }
358
- export interface Colaborador {
359
- /**
360
- * `false` quando o colaborador está inativo
361
- */
362
- ativo: boolean;
363
- /**
364
- * Data e hora da última alteração (ISO 8601, UTC)
365
- */
366
- atualizado_em: string;
367
- /**
368
- * Id do acesso (`auth`) do colaborador
369
- */
370
- auth_id: string;
371
- /**
372
- * Cargo do colaborador
373
- */
374
- cargo?: string | null;
375
- /**
376
- * Data e hora do cadastro (ISO 8601, UTC)
377
- */
378
- criado_em: string;
379
- /**
380
- * E-mail do acesso, sempre `@termotubos.com.br`
381
- */
382
- email: string;
383
- /**
384
- * Função do colaborador
385
- */
386
- funcao?: string | null;
387
- /**
388
- * Id do colaborador no TermoLeads
389
- */
390
- id: string;
391
- /**
392
- * `true` quando a pessoa é master do TermoAuth (tem tudo liberado e não aceita perfil de acesso)
393
- */
394
- master: boolean;
395
- /**
396
- * Nome do colaborador, vindo do TermoAuth
397
- */
398
- nome: string;
399
- /**
400
- * Nome do perfil de acesso da pessoa; `null` quando não tem perfil
401
- */
402
- perfil_acesso?: string | null;
403
- /**
404
- * Id do perfil de acesso da pessoa; `null` quando ainda não tem perfil (não enxerga nenhuma área)
405
- */
406
- perfil_acesso_id?: string | null;
407
- /**
408
- * Setor do colaborador
409
- */
410
- setor?: string | null;
411
- /**
412
- * Telefone do colaborador
413
- */
414
- telefone?: string | null;
415
- }
416
- export interface ColaboradorAutoComplete {
417
- /**
418
- * E-mail do colaborador
419
- */
420
- email: string;
421
- /**
422
- * Id do colaborador
423
- */
424
- id: string;
425
- /**
426
- * Nome do colaborador
427
- */
428
- nome: string;
429
- }
430
- export interface ColaboradorVincularPerfilAcesso {
431
- /**
432
- * Id do perfil de acesso que a pessoa passa a usar; `null` tira o perfil
433
- */
434
- perfil_acesso_id?: string | null;
435
- }
436
- export interface Configuracao {
437
- /**
438
- * Data e hora da última alteração (ISO 8601, UTC)
439
- */
440
- atualizado_em: string;
441
- /**
442
- * E-mail de quem gravou por último; `null` antes da primeira gravação
443
- */
444
- atualizado_por?: string | null;
445
- /**
446
- * `false` quando o servidor está sem a `GLOBAL_SECRET_CRIPTOGRAFIA`: nada abre e nada pode ser gravado
447
- */
448
- criptografia_disponivel: boolean;
449
- /**
450
- * Situação do segredo do app `termo-leads` gerado no TermoAuth; o valor nunca é devolvido
451
- */
452
- segredo_do_app_gerado_no_termo_auth: ValorProtegido;
453
- }
454
- export interface ConfiguracaoAtualizar {
455
- /**
456
- * Segredo do app gerado no TermoAuth: ausente não mexe, texto troca (até 2.000 caracteres, sem quebra de linha) e `null` apaga
457
- */
458
- segredo_do_app_gerado_no_termo_auth?: string | null;
459
- }
460
- /**
461
- * Progresso do download, serializado para o frontend dentro do progresso da
462
- * importação.
463
- */
464
- export interface DownloadProgress {
465
- /**
466
- * Situação do download de cada arquivo
467
- */
468
- arquivos: Array<ArquivoStatus>;
469
- /**
470
- * Quantidade de arquivos já baixados
471
- */
472
- arquivosConcluidos: number;
473
- /**
474
- * Total de bytes baixados
475
- */
476
- bytesBaixados: number;
477
- /**
478
- * Total de bytes a baixar, quando conhecido
479
- */
480
- bytesTotal?: number | null;
481
- /**
482
- * Mensagens dos arquivos cujo download falhou
483
- */
484
- falhas: Array<string>;
485
- /**
486
- * Quantidade de arquivos a baixar
487
- */
488
- totalArquivos: number;
489
- }
490
- /**
491
- * Estado de um arquivo individual no lote de importação.
492
- */
493
- export interface ImportArquivo {
494
- /**
495
- * Bytes já lidos
496
- */
497
- bytesLidos: number;
498
- /**
499
- * Tamanho do arquivo descompactado, em bytes
500
- */
501
- bytesTotal: number;
502
- /**
503
- * Registros malformados descartados
504
- */
505
- descartadas: number;
506
- /**
507
- * Erro do arquivo, quando falhou
508
- */
509
- erro?: string | null;
510
- /**
511
- * `pendente`, `importando`, `concluido` ou `falha`
512
- */
513
- estado: string;
514
- /**
515
- * Linhas lidas
516
- */
517
- linhas: number;
518
- /**
519
- * Nome do arquivo
520
- */
521
- nome: string;
522
- /**
523
- * Destino dos dados do arquivo
524
- */
525
- tabela: string;
526
- }
527
- /**
528
- * Estado global da importação, serializado para o frontend.
529
- */
530
- export interface ImportProgress {
531
- /**
532
- * Situação de cada arquivo processado
533
- */
534
- arquivos: Array<ImportArquivo>;
535
- /**
536
- * Quantidade de arquivos já processados
537
- */
538
- arquivosConcluidos: number;
539
- /**
540
- * `true` depois que o cancelamento foi pedido
541
- */
542
- cancelando: boolean;
543
- /**
544
- * Progresso do download dos arquivos da Receita
545
- */
546
- download: DownloadProgress;
547
- /**
548
- * Erro que interrompeu a importação, quando houve
549
- */
550
- erro?: string | null;
551
- /**
552
- * Etapa atual: vazia antes da primeira importação, depois `preparando`, `baixando`, `importando`, `montagem`, `indices` ou `concluido`
553
- */
554
- etapa: string;
555
- /**
556
- * Faixa em montagem
557
- */
558
- faixaAtual: number;
559
- /**
560
- * Quantidade de faixas da montagem da base
561
- */
562
- faixasTotal: number;
563
- /**
564
- * Mensagens dos arquivos que falharam
565
- */
566
- falhas: Array<string>;
567
- /**
568
- * `true` quando a última importação terminou, com sucesso, erro ou cancelamento
569
- */
570
- finalizado: boolean;
571
- /**
572
- * Total de registros malformados descartados
573
- */
574
- linhasDescartadasTotal: number;
575
- /**
576
- * Total de linhas lidas
577
- */
578
- linhasTotal: number;
579
- /**
580
- * Últimas 200 linhas do log da importação
581
- */
582
- log: Array<string>;
583
- /**
584
- * Mês da base importada, no formato AAAA-MM, conhecido depois do download
585
- */
586
- mes?: string | null;
587
- /**
588
- * Quantidade de estabelecimentos já montados
589
- */
590
- montagemFeitas: number;
591
- /**
592
- * Quantidade de estabelecimentos a montar
593
- */
594
- montagemTotal: number;
595
- /**
596
- * `true` enquanto a importação está em andamento
597
- */
598
- running: boolean;
599
- /**
600
- * Quantidade de arquivos a processar
601
- */
602
- totalArquivos: number;
603
- }
604
- /**
605
- * Resumo de uma execução de importação para o relatório no frontend.
606
- */
607
- export interface ImportResumo {
608
- /**
609
- * Quantidade de arquivos processados sem falha
610
- */
611
- arquivosOk: number;
612
- /**
613
- * Erro da execução, quando houve
614
- */
615
- erro?: string | null;
616
- /**
617
- * Fim da execução, data e hora em RFC 3339; nulo enquanto executa
618
- */
619
- finalizadoEm?: string | null;
620
- /**
621
- * Id da execução (UUID)
622
- */
623
- id: string;
624
- /**
625
- * Início da execução, data e hora em RFC 3339
626
- */
627
- iniciadoEm?: string | null;
628
- /**
629
- * Total de linhas lidas
630
- */
631
- linhasTotal: number;
632
- /**
633
- * Mês da base importada, no formato AAAA-MM
634
- */
635
- mes?: string | null;
636
- /**
637
- * `executando`, `concluido`, `concluido_com_falhas`, `erro` ou `cancelado`
638
- */
639
- status: string;
640
- /**
641
- * Quantidade de arquivos da importação
642
- */
643
- totalArquivos: number;
644
- }
645
- export interface PaginaDeColaboradores {
646
- /**
647
- * Colaboradores da página, em ordem alfabética de nome
648
- */
649
- itens: Array<Colaborador>;
650
- /**
651
- * Página devolvida, a partir de 1
652
- */
653
- pagina: number;
654
- /**
655
- * Itens por página (sempre 50)
656
- */
657
- tamanho: number;
658
- /**
659
- * Quantidade de colaboradores que casam com o filtro
660
- */
661
- total: number;
662
- }
663
- export interface PaginaDeColaboradoresAutoComplete {
664
- /**
665
- * Colaboradores da página, em ordem alfabética de nome
666
- */
667
- itens: Array<ColaboradorAutoComplete>;
668
- /**
669
- * Página devolvida, a partir de 1
670
- */
671
- pagina: number;
672
- /**
673
- * Itens por página usados
674
- */
675
- tamanho: number;
676
- /**
677
- * Quantidade de colaboradores que casam com a busca
678
- */
679
- total: number;
680
- }
681
293
  export interface PaginaDeEmpresas {
682
294
  /**
683
295
  * `true` quando `total` é o teto de 2.000.000 (a contagem passou do teto ou demorou mais de 6 segundos), e não a contagem exata
@@ -700,274 +312,9 @@ export interface PaginaDeEmpresas {
700
312
  */
701
313
  total: number;
702
314
  }
703
- export interface PaginaDePerfisDeAcesso {
704
- /**
705
- * Perfis da página, em ordem alfabética de nome
706
- */
707
- itens: Array<PerfilAcesso>;
708
- /**
709
- * Página devolvida, a partir de 1
710
- */
711
- pagina: number;
712
- /**
713
- * Itens por página (sempre 50)
714
- */
715
- tamanho: number;
716
- /**
717
- * Quantidade de perfis não excluídos
718
- */
719
- total: number;
720
- }
721
- export interface PaginaDePerfisDeAcessoAutoComplete {
722
- /**
723
- * Perfis da página, em ordem alfabética de nome
724
- */
725
- itens: Array<PerfilAcessoAutoComplete>;
726
- /**
727
- * Página devolvida, a partir de 1
728
- */
729
- pagina: number;
730
- /**
731
- * Itens por página usados
732
- */
733
- tamanho: number;
734
- /**
735
- * Quantidade de perfis que casam com a busca
736
- */
737
- total: number;
738
- }
739
- export interface PerfilAcesso {
740
- /**
741
- * Data e hora da última alteração (ISO 8601, UTC)
742
- */
743
- atualizado_em: string;
744
- /**
745
- * Quantidade de colaboradores que usam o perfil
746
- */
747
- colaboradores: number;
748
- /**
749
- * Data e hora do cadastro (ISO 8601, UTC)
750
- */
751
- criado_em: string;
752
- /**
753
- * Descrição do perfil
754
- */
755
- descricao?: string | null;
756
- /**
757
- * Id do perfil de acesso
758
- */
759
- id: string;
760
- /**
761
- * Nome do perfil, único sem diferenciar maiúsculas
762
- */
763
- nome: string;
764
- /**
765
- * Ações liberadas em cada área do TermoLeads
766
- */
767
- permissoes: Permissoes;
768
- }
769
- export interface PerfilAcessoAtualizar {
770
- /**
771
- * Nova descrição; vazia apaga o valor
772
- */
773
- descricao?: string | null;
774
- /**
775
- * Novo nome do perfil, até 80 caracteres
776
- */
777
- nome?: string | null;
778
- /**
779
- * Novo conjunto de permissões; substitui o anterior inteiro
780
- */
781
- permissoes?: Permissoes | null;
782
- }
783
- export interface PerfilAcessoAutoComplete {
784
- /**
785
- * Id do perfil de acesso
786
- */
787
- id: string;
788
- /**
789
- * Nome do perfil
790
- */
791
- nome: string;
792
- }
793
- export interface PerfilAcessoCriar {
794
- /**
795
- * Descrição do perfil, até 200 caracteres
796
- */
797
- descricao?: string | null;
798
- /**
799
- * Nome do perfil, até 80 caracteres
800
- */
801
- nome: string;
802
- /**
803
- * Ações liberadas em cada área; o que não vier fica `false`
804
- */
805
- permissoes?: Permissoes;
806
- }
807
- export interface Permissoes {
808
- /**
809
- * Ações liberadas na área `colaboradores`: colaboradores e perfis de acesso
810
- */
811
- colaboradores?: Acoes;
812
- /**
813
- * Ações liberadas na área `empresas`: Consultar CNPJ e Localizar Empresas
814
- */
815
- empresas?: Acoes;
816
- }
817
- /**
818
- * Ponto de retomada salvo de um ambiente.
819
- */
820
- export interface PontoSincronizacao {
821
- /**
822
- * Destino: `sandbox` ou `production`
823
- */
824
- ambiente: string;
825
- /**
826
- * Quando o ponto foi gravado, data e hora em RFC 3339
827
- */
828
- atualizadoEm: string;
829
- /**
830
- * Último CNPJ confirmado pelo destino, salvo no banco local
831
- */
832
- ultimoCnpj: string;
833
- }
834
315
  export interface RespostaDeErro {
835
316
  /**
836
317
  * Mensagem do erro em português
837
318
  */
838
319
  erro: string;
839
320
  }
840
- export interface RotaNaoEncontrada {
841
- /**
842
- * Sempre `Rota não encontrada`
843
- */
844
- mensagem: string;
845
- /**
846
- * Sempre `false`
847
- */
848
- sucesso: boolean;
849
- }
850
- export interface SalvarLoteCnpjInput {
851
- /**
852
- * Linhas completas da tabela `cnpj` (os mesmos campos de `Cnpj`), no máximo 5.000 por lote
853
- */
854
- registros: Array<Record<string, unknown>>;
855
- }
856
- export interface SalvarLoteCnpjOutput {
857
- /**
858
- * Quantidade de registros inseridos ou alterados (os iguais ao que já estava no banco não contam)
859
- */
860
- gravados: number;
861
- /**
862
- * Quantidade de registros recebidos no lote
863
- */
864
- recebidos: number;
865
- }
866
- export interface SaudeDoBackend {
867
- /**
868
- * Sempre `ok` quando o servidor está no ar
869
- */
870
- status: string;
871
- /**
872
- * Versão do backend no ar (semver do Cargo.toml)
873
- */
874
- versao: string;
875
- }
876
- export interface SaudeTestDoBackend {
877
- /**
878
- * Sempre `Backend no ar`
879
- */
880
- mensagem: string;
881
- /**
882
- * Sempre `true` quando o servidor está no ar
883
- */
884
- sucesso: boolean;
885
- /**
886
- * Versão do backend no ar (semver)
887
- */
888
- versao: string;
889
- }
890
- export interface SincronizacaoProgress {
891
- /**
892
- * Destino: `sandbox` ou `production`
893
- */
894
- ambiente: string;
895
- /**
896
- * `true` depois que o cancelamento foi pedido
897
- */
898
- cancelando: boolean;
899
- /**
900
- * URL base do backend de destino
901
- */
902
- destino: string;
903
- /**
904
- * Linhas enviadas e confirmadas pelo destino nesta execução
905
- */
906
- enviados: number;
907
- /**
908
- * Erro que interrompeu a sincronização, quando houve
909
- */
910
- erro?: string | null;
911
- /**
912
- * `true` quando a última sincronização terminou, com sucesso, erro ou cancelamento
913
- */
914
- finalizado: boolean;
915
- /**
916
- * Linhas que o destino inseriu ou alterou
917
- */
918
- gravados: number;
919
- /**
920
- * Linhas da tabela local até o CNPJ de retomada, enviadas numa execução anterior; zero quando começa do início
921
- */
922
- jaSincronizados: number;
923
- /**
924
- * Últimas 200 linhas do log da sincronização
925
- */
926
- log: Array<string>;
927
- /**
928
- * Lotes enviados
929
- */
930
- lotes: number;
931
- /**
932
- * `true` enquanto a sincronização está em andamento
933
- */
934
- running: boolean;
935
- /**
936
- * Total aproximado de linhas da tabela `cnpj` local
937
- */
938
- totalEstimado: number;
939
- /**
940
- * Último CNPJ confirmado pelo destino, ponto de retomada
941
- */
942
- ultimoCnpj?: string | null;
943
- }
944
- export interface SincronizarCnpjInput {
945
- /**
946
- * Destino da sincronização: `sandbox` ou `production`
947
- */
948
- ambiente: string;
949
- /**
950
- * Continua depois deste CNPJ (retomada de uma sincronização interrompida); vazio começa do início
951
- */
952
- retomarDe?: string | null;
953
- }
954
- export interface ValorProtegido {
955
- /**
956
- * `true` quando há um valor gravado que abre com a `GLOBAL_SECRET_CRIPTOGRAFIA` atual
957
- */
958
- configurado: boolean;
959
- /**
960
- * Os 4 últimos caracteres do valor, mascarados (`••••abcd`); `null` quando não há valor
961
- */
962
- final_visivel?: string | null;
963
- }
964
- export interface VersaoDoBackend {
965
- /**
966
- * Sempre `true` quando o servidor está no ar
967
- */
968
- sucesso: boolean;
969
- /**
970
- * Versão do backend no ar (semver)
971
- */
972
- versao: string;
973
- }