Skip to content

Commit 61bed46

Browse files
authored
Merge pull request #1977 from jieyouxu/zulip-group-missing-id-fix
Fix zulip group zulip-id availability check
2 parents a32542b + 298cd18 commit 61bed46

File tree

1 file changed

+23
-11
lines changed

1 file changed

+23
-11
lines changed

src/validate.rs

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -745,18 +745,29 @@ fn validate_zulip_group_ids(data: &Data, errors: &mut Vec<String>) {
745745
if groups.is_empty() || groups.iter().all(|g| !g.includes_team_members()) {
746746
return Ok(());
747747
}
748-
wrapper(team.members(data)?.iter(), errors, |member, _| {
749-
if let Some(member) = data.person(member) {
750-
if member.zulip_id().is_none() {
751-
bail!(
752-
"person `{}` in '{}' is a member of a Zulip user group but has no Zulip id",
753-
member.github(),
754-
team.name()
755-
);
748+
749+
for group in groups {
750+
wrapper(group.members().iter(), errors, |member, _| {
751+
match member {
752+
ZulipMember::MemberWithId { .. } | ZulipMember::JustId(_) => {
753+
// Okay, have zulip IDs.
754+
}
755+
ZulipMember::MemberWithoutId { github } => {
756+
// Bad, only github handle, no zulip ID, even though included in zulip user
757+
// group
758+
bail!(
759+
"person `{}` in '{}' is a member of a Zulip user group '{}' but has no \
760+
Zulip id",
761+
github,
762+
team.name(),
763+
group.name()
764+
);
765+
}
756766
}
757-
}
758-
Ok(())
759-
});
767+
Ok(())
768+
});
769+
}
770+
760771
Ok(())
761772
});
762773
}
@@ -769,6 +780,7 @@ fn validate_zulip_stream_ids(data: &Data, errors: &mut Vec<String>) {
769780
if streams.is_empty() || streams.iter().all(|s| !s.includes_team_members()) {
770781
return Ok(());
771782
}
783+
772784
wrapper(team.members(data)?.iter(), errors, |member, _| {
773785
if let Some(member) = data.person(member) {
774786
if member.zulip_id().is_none() {

0 commit comments

Comments
 (0)