error.rs 3.1 KB

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