Skip to main content

bindizr_db/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum DatabaseError {
5    #[error("Query failed: {0}")]
6    QueryFailed(String),
7
8    #[error("Transaction failed: {0}")]
9    TransactionFailed(String),
10
11    #[error("Pool error: {0}")]
12    PoolError(String),
13}
14
15impl From<sqlx::Error> for DatabaseError {
16    fn from(err: sqlx::Error) -> Self {
17        match err {
18            sqlx::Error::PoolTimedOut => DatabaseError::PoolError("Pool timed out".to_string()),
19            _ => DatabaseError::QueryFailed(err.to_string()),
20        }
21    }
22}