cdk_redb/
error.rs

1//! Redb Error
2
3use std::num::ParseIntError;
4
5use thiserror::Error;
6
7/// Redb Database Error
8#[derive(Debug, Error)]
9pub enum Error {
10    /// Redb Error
11    #[error(transparent)]
12    Redb(#[from] Box<redb::Error>),
13    /// Redb Database Error
14    #[error(transparent)]
15    Database(#[from] Box<redb::DatabaseError>),
16    /// Redb Transaction Error
17    #[error(transparent)]
18    Transaction(#[from] Box<redb::TransactionError>),
19    /// Redb Commit Error
20    #[error(transparent)]
21    Commit(#[from] Box<redb::CommitError>),
22    /// Redb Table Error
23    #[error(transparent)]
24    Table(#[from] Box<redb::TableError>),
25    /// Redb Storage Error
26    #[error(transparent)]
27    Storage(#[from] Box<redb::StorageError>),
28    /// Upgrade Transaction Error
29    #[error(transparent)]
30    Upgrade(#[from] Box<redb::UpgradeError>),
31    /// Serde Json Error
32    #[error(transparent)]
33    Serde(#[from] serde_json::Error),
34    /// Parse int Error
35    #[error(transparent)]
36    ParseInt(#[from] ParseIntError),
37    /// CDK Database Error
38    #[error(transparent)]
39    CDKDatabase(#[from] cdk_common::database::Error),
40    /// CDK Mint Url Error
41    #[error(transparent)]
42    CDKMintUrl(#[from] cdk_common::mint_url::Error),
43    /// CDK Error
44    #[error(transparent)]
45    CDK(#[from] cdk_common::error::Error),
46    /// IO Error
47    #[error(transparent)]
48    Io(#[from] std::io::Error),
49    /// NUT00 Error
50    #[error(transparent)]
51    CDKNUT00(#[from] cdk_common::nuts::nut00::Error),
52    /// NUT02 Error
53    #[error(transparent)]
54    CDKNUT02(#[from] cdk_common::nuts::nut02::Error),
55    /// DHKE Error
56    #[error(transparent)]
57    DHKE(#[from] cdk_common::dhke::Error),
58    /// Unknown Mint Info
59    #[error("Unknown mint info")]
60    UnknownMintInfo,
61    /// Unknown quote ttl
62    #[error("Unknown quote ttl")]
63    UnknownQuoteTTL,
64    /// Unknown Proof Y
65    #[error("Unknown proof Y")]
66    UnknownY,
67    /// Unknown Quote
68    #[error("Unknown quote")]
69    UnknownQuote,
70    /// Unknown Database Version
71    #[error("Unknown database version")]
72    UnknownDatabaseVersion,
73    /// Duplicate
74    #[error("Duplicate")]
75    Duplicate,
76}
77
78impl From<Error> for cdk_common::database::Error {
79    fn from(e: Error) -> Self {
80        Self::Database(Box::new(e))
81    }
82}
83
84// Implement From for boxed redb errors
85impl From<redb::Error> for Error {
86    fn from(e: redb::Error) -> Self {
87        Self::Redb(Box::new(e))
88    }
89}
90
91impl From<redb::DatabaseError> for Error {
92    fn from(e: redb::DatabaseError) -> Self {
93        Self::Database(Box::new(e))
94    }
95}
96
97impl From<redb::TransactionError> for Error {
98    fn from(e: redb::TransactionError) -> Self {
99        Self::Transaction(Box::new(e))
100    }
101}
102
103impl From<redb::CommitError> for Error {
104    fn from(e: redb::CommitError) -> Self {
105        Self::Commit(Box::new(e))
106    }
107}
108
109impl From<redb::TableError> for Error {
110    fn from(e: redb::TableError) -> Self {
111        Self::Table(Box::new(e))
112    }
113}
114
115impl From<redb::StorageError> for Error {
116    fn from(e: redb::StorageError) -> Self {
117        Self::Storage(Box::new(e))
118    }
119}
120
121impl From<redb::UpgradeError> for Error {
122    fn from(e: redb::UpgradeError) -> Self {
123        Self::Upgrade(Box::new(e))
124    }
125}