1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
//! # NFe Web API
//!
//! API REST e GraphQL de alto desempenho para Nota Fiscal Eletronica brasileira.
//!
//! ## Funcionalidades
//!
//! - **REST API**: Endpoints para parse, geracao e consulta de NF-e
//! - **GraphQL API**: Schema completo com queries e mutations
//! - **DANFE PDF**: Geracao de DANFE profissional
//! - **Certificado A1**: Suporte a certificado digital .pfx/.p12
//! - **SEFAZ WebService**: Cliente SOAP para integracao
//! - **Leitura de PDF**: Extracao de dados de DANFE/NFS-e
//!
//! ## Performance
//!
//! Benchmarks em modo release:
//!
//! | Operacao | Tempo |
//! |----------|-------|
//! | Health Check | 2ms |
//! | Parse XML | 3ms |
//! | DANFE PDF | 3ms |
//! | GraphQL | 5ms |
//!
//! ## Exemplo de Uso
//!
//! ```rust,no_run
//! use nfe_web::{certificado, graphql, pdf, sefaz};
//!
//! // Validar chave de acesso
//! let info = sefaz::validar_chave_acesso("35240508665074000100550010000000011270815480");
//!
//! // Gerar URL de consulta
//! let url = sefaz::gerar_url_consulta_portal("35240508665074000100550010000000011270815480");
//! ```
//!
//! ## Modulos
//!
//! - [`certificado`]: Manipulacao de certificados digitais A1
//! - [`graphql`]: Schema e resolvers GraphQL
//! - [`pdf`]: Leitura de PDF e geracao de DANFE
//! - [`sefaz`]: Consulta e integracao com SEFAZ
//! - [`db`]: Modelos e conexao com banco de dados
/// Modulo de certificado digital A1
///
/// Suporte a arquivos .pfx/.p12 para autenticacao com SEFAZ.
///
/// # Exemplo
///
/// ```rust,no_run
/// use nfe_web::certificado::CertificadoA1;
///
/// let cert = CertificadoA1::from_file("certificado.pfx", "senha123")?;
/// println!("CNPJ: {:?}", cert.info.cnpj);
/// # Ok::<(), String>(())
/// ```
/// Modulo de banco de dados
///
/// Suporte a PostgreSQL e MySQL para persistencia de NF-e.
/// API GraphQL
///
/// Schema completo com queries e mutations para NF-e.
///
/// # Queries
///
/// - `nfe(chaveAcesso)` - Consulta NF-e por chave
/// - `validarChave(chave)` - Valida chave de acesso
/// - `consultarSefaz(chaveAcesso)` - Consulta status no SEFAZ
///
/// # Mutations
///
/// - `emitirNfe(input)` - Emite NF-e no SEFAZ
/// - `cancelarNfe(input)` - Cancela NF-e
/// - `parseXml(xml)` - Parseia XML de NF-e
/// Modulo de PDF
///
/// Leitura de DANFE/NFS-e e geracao de DANFE profissional.
///
/// # Exemplo
///
/// ```rust,no_run
/// use nfe_web::pdf::extract_danfe_data;
///
/// // Ler dados de um PDF
/// let bytes = std::fs::read("danfe.pdf").unwrap();
/// let dados = extract_danfe_data(&bytes);
/// ```
/// Integracao com SEFAZ
///
/// Cliente SOAP para WebServices da SEFAZ e funcoes de validacao.
///
/// # Funcoes
///
/// - [`validar_chave_acesso`](sefaz::validar_chave_acesso) - Valida e extrai dados da chave
/// - [`gerar_url_consulta_portal`](sefaz::gerar_url_consulta_portal) - Gera URL do portal
/// - [`consultar_portal_publico`](sefaz::consultar_portal_publico) - Consulta via portal
///
/// # Exemplo
///
/// ```rust
/// use nfe_web::sefaz;
///
/// let chave = "35240508665074000100550010000000011270815480";
/// if let Ok(info) = sefaz::validar_chave_acesso(chave) {
/// println!("UF: {}", info.uf);
/// println!("CNPJ: {}", info.cnpj);
/// println!("Numero: {}", info.numero);
/// }
/// ```
// Re-exports para conveniencia
pub use ;
pub use ;
pub use ;
pub use ;