fistinc_errors/
diesel_errors.rs

1use crate::async_pool::AsyncPoolError;
2use crate::RepositoryError;
3
4#[derive(Debug)]
5pub struct DieselRepositoryError(RepositoryError);
6
7impl DieselRepositoryError {
8    pub fn into_inner(self) -> RepositoryError { self.0 }
9}
10
11impl From<r2d2::Error> for DieselRepositoryError {
12    fn from(error: r2d2::Error) -> Self {
13        Self(RepositoryError {
14            message: error.to_string(),
15        })
16    }
17}
18
19impl From<diesel::result::Error> for DieselRepositoryError {
20    fn from(error: diesel::result::Error) -> Self {
21        Self(RepositoryError {
22            message: error.to_string(),
23        })
24    }
25}
26
27impl<T: std::fmt::Debug> From<AsyncPoolError<T>> for DieselRepositoryError {
28    fn from(error: AsyncPoolError<T>) -> Self {
29        Self(RepositoryError {
30            message: error.to_string()
31        })
32    }
33}