Browse Source

Use new Errors in latest changes

Daniel García 7 years ago
parent
commit
250a2b340f
3 changed files with 7 additions and 16 deletions
  1. 1 1
      src/api/core/accounts.rs
  2. 3 12
      src/api/core/organizations.rs
  3. 3 3
      src/mail.rs

+ 1 - 1
src/api/core/accounts.rs

@@ -87,7 +87,7 @@ fn register(data: JsonUpcase<RegisterData>, 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")
             }

+ 3 - 12
src/api/core/organizations.rs

@@ -446,22 +446,15 @@ fn send_invite(org_id: String, data: JsonUpcase<InviteData>, 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(())

+ 3 - 3
src/mail.rs

@@ -65,7 +65,7 @@ pub fn send_password_hint(address: &str, hint: Option<String>, 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(()))
 }