diff options
author | Pietro Albini <pietro@pietroalbini.org> | 2018-11-27 19:55:27 +0100 |
---|---|---|
committer | Pietro Albini <pietro@pietroalbini.org> | 2018-11-27 19:55:27 +0100 |
commit | fd9fc0183e87d18b57838b7663b0a9f0a8c513e8 (patch) | |
tree | 5da7ba1593381b34f33ff94f848cb6752700d892 /src | |
parent | ef53b1f01acbda586424805d604f96ea00f7c981 (diff) |
validate people emails
Diffstat (limited to 'src')
-rw-r--r-- | src/validate.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/validate.rs b/src/validate.rs index 45c0d0a..6c6830d 100644 --- a/src/validate.rs +++ b/src/validate.rs @@ -13,6 +13,7 @@ pub(crate) fn validate(data: &Data) -> Result<(), Error> { validate_list_extra_people(data, &mut errors); validate_list_extra_teams(data, &mut errors); validate_list_addresses(data, &mut errors); + validate_people_addresses(data, &mut errors); validate_discord_name(data, &mut errors); if !errors.is_empty() { @@ -162,6 +163,18 @@ fn validate_list_addresses(data: &Data, errors: &mut Vec<String>) { }); } +/// Ensure people email addresses are correct +fn validate_people_addresses(data: &Data, errors: &mut Vec<String>) { + wrapper(data.people(), errors, |person, _| { + if let Some(email) = person.email() { + if !email.contains('@') { + bail!("invalid email address of `{}`: {}", person.github(), email); + } + } + Ok(()) + }); +} + /// Ensure the Discord name is formatted properly fn validate_discord_name(data: &Data, errors: &mut Vec<String>) { // https://discordapp.com/developers/docs/resources/user#usernames-and-nicknames |