DieselCrud traits and derives
This commit is contained in:
22
crates/diesel_crud_trait/src/error.rs
Normal file
22
crates/diesel_crud_trait/src/error.rs
Normal file
@ -0,0 +1,22 @@
|
||||
use diesel::result::Error;
|
||||
use thiserror::Error;
|
||||
|
||||
/// Error type for CRUD operations
|
||||
#[derive(Debug, Error)]
|
||||
pub enum CrudError {
|
||||
#[error("Resource not found")]
|
||||
NotFound,
|
||||
#[error("Database pool error: {0}")]
|
||||
PoolError(String),
|
||||
#[error(transparent)]
|
||||
Other(Error),
|
||||
}
|
||||
|
||||
impl From<Error> for CrudError {
|
||||
fn from(error: Error) -> Self {
|
||||
match error {
|
||||
Error::NotFound => CrudError::NotFound,
|
||||
_ => CrudError::Other(error),
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user