bindizr-db 0.1.0-beta.4

Database repositories for bindizr
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum DatabaseError {
    #[error("Query failed: {0}")]
    QueryFailed(String),

    #[error("Transaction failed: {0}")]
    TransactionFailed(String),

    #[error("Pool error: {0}")]
    PoolError(String),
}

impl From<sqlx::Error> for DatabaseError {
    fn from(err: sqlx::Error) -> Self {
        match err {
            sqlx::Error::PoolTimedOut => DatabaseError::PoolError("Pool timed out".to_string()),
            _ => DatabaseError::QueryFailed(err.to_string()),
        }
    }
}