Skip to content

Commit bc36284

Browse files
committed
chore : validate no duplicate team members #1918
1 parent 69bfdf7 commit bc36284

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

src/validate.rs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,17 +220,29 @@ fn validate_team_leads(data: &Data, errors: &mut Vec<String>) {
220220
});
221221
}
222222

223-
/// Ensure team members are people
223+
/// Ensure team members are people and don't contain duplicates
224224
fn validate_team_members(data: &Data, errors: &mut Vec<String>) {
225225
wrapper(data.teams(), errors, |team, errors| {
226+
let mut seen = std::collections::HashSet::new();
226227
wrapper(team.members(data)?.iter(), errors, |member, _| {
228+
// Check if member exists
227229
if data.person(member).is_none() {
228230
bail!(
229-
"person `{}` is member of team `{}` but doesn't exist",
231+
"person {} is member of team {} but doesn't exist",
230232
member,
231233
team.name()
232234
);
233235
}
236+
237+
// Check for duplicates
238+
if !seen.insert(member) {
239+
bail!(
240+
"person {} is listed multiple times in team {}",
241+
member,
242+
team.name()
243+
);
244+
}
245+
234246
Ok(())
235247
});
236248
Ok(())

0 commit comments

Comments
 (0)