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");