diff --git a/src/api/core/accounts.rs b/src/api/core/accounts.rs index fe99a9c4..2efd6b88 100644 --- a/src/api/core/accounts.rs +++ b/src/api/core/accounts.rs @@ -87,7 +87,7 @@ fn register(data: JsonUpcase, conn: DbConn) -> EmptyResult { } } } else if CONFIG.signups_allowed { - err!("Account with this email already exists") + err!("Account with this email already exists") } else { err!("Registration not allowed") } diff --git a/src/api/core/organizations.rs b/src/api/core/organizations.rs index 9dc30b70..0e15a880 100644 --- a/src/api/core/organizations.rs +++ b/src/api/core/organizations.rs @@ -446,22 +446,15 @@ fn send_invite(org_id: String, data: JsonUpcase, headers: AdminHeade new_user.save(&conn)?; - if CONFIG.mail.is_some() { + if let Some(ref mail_config) = CONFIG.mail { let org_name = match Organization::find_by_uuid(&org_id, &conn) { Some(org) => org.name, None => err!("Error looking up organization") }; let claims = generate_invite_claims(user.uuid.to_string(), user.email.clone(), org_id.clone(), Some(new_user.uuid.clone())); let invite_token = encode_jwt(&claims); - if let Some(ref mail_config) = CONFIG.mail { - if let Err(e) = mail::send_invite(&email, &org_id, &new_user.uuid, - &invite_token, &org_name, mail_config) { - err!(format!("There has been a problem sending the email: {}", e)) - } - } + mail::send_invite(&email, &org_id, &new_user.uuid, &invite_token, &org_name, mail_config)?; } - - new_user.save(&conn)?; } Ok(()) @@ -499,9 +492,7 @@ fn reinvite_user(org_id: String, user_org: String, _headers: AdminHeaders, conn: let claims = generate_invite_claims(user.uuid.to_string(), user.email.clone(), org_id.clone(), Some(user_org.uuid.clone())); let invite_token = encode_jwt(&claims); if let Some(ref mail_config) = CONFIG.mail { - if let Err(e) = mail::send_invite(&user.email, &org_id, &user_org.uuid, &invite_token, &org_name, mail_config) { - err!(format!("There has been a problem sending the email: {}", e)) - } + mail::send_invite(&user.email, &org_id, &user_org.uuid, &invite_token, &org_name, mail_config)?; } Ok(()) diff --git a/src/mail.rs b/src/mail.rs index c993efb0..5858d1bf 100644 --- a/src/mail.rs +++ b/src/mail.rs @@ -65,7 +65,7 @@ pub fn send_password_hint(address: &str, hint: Option, config: &MailConf .and(Ok(())) } -pub fn send_invite(address: &str, org_id: &str, org_user_id: &str, token: &str, org_name: &str, config: &MailConfig) -> Result<(), String> { +pub fn send_invite(address: &str, org_id: &str, org_user_id: &str, token: &str, org_name: &str, config: &MailConfig) -> EmptyResult { let (subject, body) = { (format!("Join {}", &org_name), format!( @@ -85,10 +85,10 @@ pub fn send_invite(address: &str, org_id: &str, org_user_id: &str, token: &str, .header(("Content-Type", "text/html")) .body(body) .build() - .map_err(|e| e.to_string())?; + .map_err(|e| Error::new("Error building invite email", e.to_string()))?; mailer(config) .send(email.into()) - .map_err(|e| e.to_string()) + .map_err(|e| Error::new("Error sending invite email", e.to_string())) .and(Ok(())) } \ No newline at end of file