diff options
| -rw-r--r-- | mullvad-types/src/access_method.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mullvad-types/src/access_method.rs b/mullvad-types/src/access_method.rs index f260c1fde6..956bb8492f 100644 --- a/mullvad-types/src/access_method.rs +++ b/mullvad-types/src/access_method.rs @@ -94,6 +94,21 @@ impl Settings { } } + /// This function will return an error if a custom access method with + /// the same name already exists. + fn check_custom_access_method_name_is_unique( + &self, + new_api_access_method: &AccessMethodSetting, + ) -> Result<(), Error> { + if self.custom.iter().any(|api_access_method| { + api_access_method.id != new_api_access_method.id + && api_access_method.name == new_api_access_method.name + }) { + return Err(Error::DuplicateName); + } + Ok(()) + } + /// Iterate over references of built-in & custom access methods. pub fn iter(&self) -> impl Iterator<Item = &AccessMethodSetting> + Clone { use std::iter::once; |
