1pub type WalletDbResult<T> = std::result::Result<T, WalletDbError>;
21
22#[derive(Debug)]
25pub enum WalletDbError {
26    InitializationFailed = -32100,
28
29    ConnectionFailed = -32110,
31    FailedToAquireLock = -32111,
32
33    PragmaUpdateError = -32120,
35
36    QueryPreparationFailed = -32130,
38    QueryExecutionFailed = -32131,
39    QueryFinalizationFailed = -32132,
40    ParseColumnValueError = -32133,
41    RowNotFound = -32134,
42
43    GenericError = -32140,
45}
46
47impl std::fmt::Display for WalletDbError {
48    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
49        match self {
50            WalletDbError::InitializationFailed => write!(f, "WalletDbError::InitializationFailed"),
51            WalletDbError::ConnectionFailed => write!(f, "WalletDbError::ConnectionFailed"),
52            WalletDbError::FailedToAquireLock => write!(f, "WalletDbError::FailedToAquireLock"),
53            WalletDbError::PragmaUpdateError => write!(f, "WalletDbError::PragmaUpdateError"),
54            WalletDbError::QueryPreparationFailed => {
55                write!(f, "WalletDbError::QueryPreparationFailed")
56            }
57            WalletDbError::QueryExecutionFailed => write!(f, "WalletDbError::QueryExecutionFailed"),
58            WalletDbError::QueryFinalizationFailed => {
59                write!(f, "WalletDbError::QueryFinalizationFailed")
60            }
61            WalletDbError::ParseColumnValueError => {
62                write!(f, "WalletDbError::ParseColumnValueError")
63            }
64            WalletDbError::RowNotFound => write!(f, "WalletDbError::RowNotFound"),
65            WalletDbError::GenericError => write!(f, "WalletDbError::GenericError"),
66        }
67    }
68}
69
70impl std::error::Error for WalletDbError {}