summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPietro Albini <pietro@pietroalbini.org>2018-11-27 19:55:27 +0100
committerPietro Albini <pietro@pietroalbini.org>2018-11-27 19:55:27 +0100
commitfd9fc0183e87d18b57838b7663b0a9f0a8c513e8 (patch)
tree5da7ba1593381b34f33ff94f848cb6752700d892 /src
parentef53b1f01acbda586424805d604f96ea00f7c981 (diff)
validate people emails
Diffstat (limited to 'src')
-rw-r--r--src/validate.rs13
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