fix: error handling on mailer

This commit is contained in:
Zack Fu Zi Xiang 2024-09-14 13:31:49 +08:00
parent 4b59574392
commit 3de0a728e8
No known key found for this signature in database
2 changed files with 30 additions and 7 deletions

View File

@ -0,0 +1,23 @@
{
"db_name": "PostgreSQL",
"query": "\n SELECT EXISTS(\n SELECT 1\n FROM af_workspace_invitation\n WHERE id = $1 AND invitee_email = (SELECT email FROM af_user WHERE uuid = $2)\n )\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "exists",
"type_info": "Bool"
}
],
"parameters": {
"Left": [
"Uuid",
"Uuid"
]
},
"nullable": [
null
]
},
"hash": "7c8b84da6d70cb4ae59ae618e6f7aa7bde3dbd6630bd7e7fcafe1606d63651c8"
}

View File

@ -36,9 +36,9 @@ impl Mailer {
HANDLEBARS
.write()
.unwrap()
.map_err(|err| anyhow::anyhow!(format!("Failed to write handlebars: {}", err)))?
.register_template_string("workspace_invite", workspace_invite_template)
.unwrap();
.map_err(|err| anyhow::anyhow!(format!("Failed to register handlebars template: {}", err)))?;
Ok(Self {
smtp_transport,
@ -51,10 +51,10 @@ impl Mailer {
email: String,
param: WorkspaceInviteMailerParam,
) -> Result<(), anyhow::Error> {
let rendered = HANDLEBARS
.read()
.unwrap()
.render("workspace_invite", &param)?;
let rendered = match HANDLEBARS.read() {
Ok(registory) => registory.render("workspace_invite", &param)?,
Err(err) => anyhow::bail!(format!("Failed to render handlebars template: {}", err)),
};
let email = Message::builder()
.from(lettre::message::Mailbox::new(
@ -63,7 +63,7 @@ impl Mailer {
))
.to(lettre::message::Mailbox::new(
Some(param.username.clone()),
email.parse().unwrap(),
email.parse()?,
))
.subject(format!(
"Action required: {} invited you to {} in AppFlowy",