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    /// NUT00 Error
47    #[error(transparent)]
48    CDKNUT00(#[from] cdk_common::nuts::nut00::Error),
49    /// NUT02 Error
50    #[error(transparent)]
51    CDKNUT02(#[from] cdk_common::nuts::nut02::Error),
52    /// DHKE Error
53    #[error(transparent)]
54    DHKE(#[from] cdk_common::dhke::Error),
55    /// Unknown Mint Info
56    #[error("Unknown mint info")]
57    UnknownMintInfo,
58    /// Unknown quote ttl
59    #[error("Unknown quote ttl")]
60    UnknownQuoteTTL,
61    /// Unknown Proof Y
62    #[error("Unknown proof Y")]
63    UnknownY,
64    /// Unknown Quote
65    #[error("Unknown quote")]
66    UnknownQuote,
67    /// Unknown Database Version
68    #[error("Unknown database version")]
69    UnknownDatabaseVersion,
70    /// Duplicate
71    #[error("Duplicate")]
72    Duplicate,
73}
74
75impl From<Error> for cdk_common::database::Error {
76    fn from(e: Error) -> Self {
77        Self::Database(Box::new(e))
78    }
79}
80
81// Implement From for boxed redb errors
82impl From<redb::Error> for Error {
83    fn from(e: redb::Error) -> Self {
84        Self::Redb(Box::new(e))
85    }
86}
87
88impl From<redb::DatabaseError> for Error {
89    fn from(e: redb::DatabaseError) -> Self {
90        Self::Database(Box::new(e))
91    }
92}
93
94impl From<redb::TransactionError> for Error {
95    fn from(e: redb::TransactionError) -> Self {
96        Self::Transaction(Box::new(e))
97    }
98}
99
100impl From<redb::CommitError> for Error {
101    fn from(e: redb::CommitError) -> Self {
102        Self::Commit(Box::new(e))
103    }
104}
105
106impl From<redb::TableError> for Error {
107    fn from(e: redb::TableError) -> Self {
108        Self::Table(Box::new(e))
109    }
110}
111
112impl From<redb::StorageError> for Error {
113    fn from(e: redb::StorageError) -> Self {
114        Self::Storage(Box::new(e))
115    }
116}
117
118impl From<redb::UpgradeError> for Error {
119    fn from(e: redb::UpgradeError) -> Self {
120        Self::Upgrade(Box::new(e))
121    }
122}