armature_analytics/
error.rs

1//! Analytics error types
2
3use thiserror::Error;
4
5/// Errors that can occur in the analytics module
6#[derive(Debug, Error)]
7pub enum AnalyticsError {
8    /// Analytics is disabled
9    #[error("Analytics is disabled")]
10    Disabled,
11
12    /// Configuration error
13    #[error("Configuration error: {0}")]
14    Configuration(String),
15
16    /// Serialization error
17    #[error("Serialization error: {0}")]
18    Serialization(String),
19
20    /// Export error
21    #[error("Export error: {0}")]
22    Export(String),
23
24    /// Storage error
25    #[error("Storage error: {0}")]
26    Storage(String),
27}
28
29impl From<serde_json::Error> for AnalyticsError {
30    fn from(err: serde_json::Error) -> Self {
31        AnalyticsError::Serialization(err.to_string())
32    }
33}
34