1use crate::{traits::ErrorTrait, AnyError};
2use thiserror::Error;
3
4#[derive(Error, Debug)]
5pub enum Error {
6 #[error(transparent)]
7 Any(#[from] AnyError),
8
9 #[error(transparent)]
10 Config(#[from] soph_config::error::Error),
11
12 #[error(transparent)]
13 LettreError(#[from] lettre::error::Error),
14
15 #[error("{0}")]
16 Message(String),
17
18 #[error(transparent)]
19 TransportSmtpError(#[from] lettre::transport::smtp::Error),
20
21 #[error(transparent)]
22 TransportStubError(#[from] lettre::transport::stub::Error),
23}
24
25impl ErrorTrait for Error {}