rustkernel_accounting/
lib.rs1#![warn(missing_docs)]
17
18pub mod coa_mapping;
19pub mod detection;
20pub mod journal;
21pub mod network;
22pub mod network_generation;
23pub mod reconciliation;
24pub mod temporal;
25pub mod types;
26
27pub use coa_mapping::ChartOfAccountsMapping;
28pub use detection::{
29 GaapDetectionConfig, GaapViolationDetection, SuspenseAccountDetection, SuspenseDetectionConfig,
30};
31pub use journal::JournalTransformation;
32pub use network::NetworkAnalysis;
33pub use network_generation::{
34 AccountingFlow, AccountingNetwork, FixedPoint128, NetworkGeneration, NetworkGenerationConfig,
35 NetworkGenerationRing, NetworkGenerationStats, SolvingMethod,
36};
37pub use reconciliation::GLReconciliation;
38pub use temporal::TemporalCorrelation;
39
40pub fn register_all(
42 registry: &rustkernel_core::registry::KernelRegistry,
43) -> rustkernel_core::error::Result<()> {
44 use rustkernel_core::traits::GpuKernel;
45
46 tracing::info!("Registering accounting kernels");
47
48 registry.register_metadata(
50 coa_mapping::ChartOfAccountsMapping::new()
51 .metadata()
52 .clone(),
53 )?;
54
55 registry.register_metadata(journal::JournalTransformation::new().metadata().clone())?;
57
58 registry.register_metadata(reconciliation::GLReconciliation::new().metadata().clone())?;
60
61 registry.register_metadata(network::NetworkAnalysis::new().metadata().clone())?;
63
64 registry.register_metadata(temporal::TemporalCorrelation::new().metadata().clone())?;
66
67 registry.register_metadata(
69 network_generation::NetworkGeneration::new()
70 .metadata()
71 .clone(),
72 )?;
73
74 registry.register_metadata(
76 network_generation::NetworkGenerationRing::new()
77 .metadata()
78 .clone(),
79 )?;
80
81 registry.register_metadata(
83 detection::SuspenseAccountDetection::new()
84 .metadata()
85 .clone(),
86 )?;
87 registry.register_metadata(detection::GaapViolationDetection::new().metadata().clone())?;
88
89 tracing::info!("Registered 9 accounting kernels");
90 Ok(())
91}
92
93#[cfg(test)]
94mod tests {
95 use super::*;
96 use rustkernel_core::registry::KernelRegistry;
97
98 #[test]
99 fn test_register_all() {
100 let registry = KernelRegistry::new();
101 register_all(®istry).expect("Failed to register accounting kernels");
102 assert_eq!(registry.total_count(), 9);
103 }
104}