nomy_data_models/
lib.rs

1//! Nomy Data Models
2//!
3//! This crate provides data model definitions for Nomy wallet analysis data processing.
4//! These models are shared across multiple services and are generated from Python SQLAlchemy models.
5
6pub mod enums;
7pub mod models;
8
9pub use enums::*;
10/// Re-export all models for convenience
11pub use models::*;
12
13/// Error types for the crate
14pub mod error {
15    use thiserror::Error;
16
17    /// Error type for Nomy Data Models
18    #[derive(Error, Debug)]
19    pub enum NomyDataModelError {
20        /// Error when serializing or deserializing data
21        #[error("Serialization error: {0}")]
22        SerializationError(#[from] serde_json::Error),
23
24        /// Error when parsing a date or time
25        #[error("Date/time parsing error: {0}")]
26        DateTimeError(#[from] chrono::ParseError),
27
28        /// Other errors
29        #[error("Other error: {0}")]
30        Other(String),
31    }
32}
33
34/// Result type for the crate
35pub type Result<T> = std::result::Result<T, error::NomyDataModelError>;
36
37/// Version of the crate
38pub const VERSION: &str = env!("CARGO_PKG_VERSION");