From e962a4bbcac7a47959e53f1f357c30299f2318a9 Mon Sep 17 00:00:00 2001 From: Ian Date: Wed, 2 Oct 2019 13:02:51 -0700 Subject: [PATCH] WIP: Update for key error --- src/config.rs | 3 +-- src/main.rs | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/config.rs b/src/config.rs index c08324b..c63591c 100644 --- a/src/config.rs +++ b/src/config.rs @@ -131,10 +131,9 @@ impl Config { } pub fn get_ldap_mail_field(&self) -> String { - let default = String::from("mail"); match &self.ldap_mail_field { Some(mail_field) => mail_field.clone(), - None => default.clone(), + None => String::from("mail").clone(), } } diff --git a/src/main.rs b/src/main.rs index fcbfc75..1e05acb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -114,7 +114,8 @@ fn invite_from_ldap( let mail_field = config.get_ldap_mail_field(); let mut num_users = 0; for ldap_user in search_entries(config)? { - if let Some(user_email) = ldap_user.attrs[mail_field.as_str()].first() { + // Safely get first email from list of emails in field + if let Some(user_email) = ldap_user.attrs.get(mail_field.as_str()).and_then(|l| (l.first())) { if existing_users.contains(user_email) { println!("User with email already exists: {}", user_email); } else {