Implemented mail notifications.
This commit is contained in:
+34
-2
@@ -8,7 +8,9 @@ pub enum AppError {
|
||||
HourParseError,
|
||||
ServerError(String),
|
||||
FatalError(String),
|
||||
SlotParseError
|
||||
SlotParseError,
|
||||
MailAddrParseErr(String),
|
||||
MailSendError(String)
|
||||
}
|
||||
|
||||
impl AppError {
|
||||
@@ -17,7 +19,9 @@ impl AppError {
|
||||
AppError::HourParseError => {"Hour parse error".to_string()},
|
||||
AppError::ServerError(e) => {format!("Server error: {}", e)},
|
||||
AppError::FatalError(e) => {format!("Fatal error: {}", e)},
|
||||
AppError::SlotParseError => {"Book slot parse error".to_string()}
|
||||
AppError::SlotParseError => {"Book slot parse error".to_string()},
|
||||
AppError::MailAddrParseErr(e) => {format!("Cannot parse email address: {}", e)},
|
||||
AppError::MailSendError(e) => {format!("Cannot send email: {}", e)}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -48,3 +52,31 @@ impl From<ParseError> for AppError {
|
||||
AppError::HourParseError
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "ssr")]
|
||||
impl From<lettre::address::AddressError> for AppError {
|
||||
fn from(value: lettre::address::AddressError) -> Self {
|
||||
AppError::MailAddrParseErr(value.to_string())
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "ssr")]
|
||||
impl From<lettre::error::Error> for AppError {
|
||||
fn from(value: lettre::error::Error) -> Self {
|
||||
AppError::MailSendError(value.to_string())
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "ssr")]
|
||||
impl From<lettre::transport::smtp::Error> for AppError {
|
||||
fn from(value: lettre::transport::smtp::Error) -> Self {
|
||||
AppError::MailSendError(value.to_string())
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "ssr")]
|
||||
impl From<lettre::transport::file::Error> for AppError {
|
||||
fn from(value: lettre::transport::file::Error) -> Self {
|
||||
AppError::MailSendError(value.to_string())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user