Skip to content

Commit 12f84a5

Browse files
committed
[DO NOT MERGE] Fix zulip group zulip-id availability check
1 parent aab5759 commit 12f84a5

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
@@ -728,18 +728,29 @@ fn validate_zulip_group_ids(data: &Data, errors: &mut Vec<String>) {
728728
if groups.is_empty() || groups.iter().all(|g| !g.includes_team_members()) {
729729
return Ok(());
730730
}
731-
wrapper(team.members(data)?.iter(), errors, |member, _| {
732-
if let Some(member) = data.person(member) {
733-
if member.zulip_id().is_none() {
734-
bail!(
735-
"person `{}` in '{}' is a member of a Zulip user group but has no Zulip id",
736-
member.github(),
737-
team.name()
738-
);
731+
732+
for group in groups {
733+
wrapper(group.members().iter(), errors, |member, _| {
734+
match member {
735+
ZulipMember::MemberWithId { .. } | ZulipMember::JustId(_) => {
736+
// Okay, have zulip IDs.
737+
}
738+
ZulipMember::MemberWithoutId { github } => {
739+
// Bad, only github handle, no zulip ID, even though included in zulip user
740+
// group
741+
bail!(
742+
"person `{}` in '{}' is a member of a Zulip user group '{}' but has no \
743+
Zulip id",
744+
github,
745+
team.name(),
746+
group.name()
747+
);
748+
}
739749
}
740-
}
741-
Ok(())
742-
});
750+
Ok(())
751+
});
752+
}
753+
743754
Ok(())
744755
});
745756
}
@@ -752,6 +763,7 @@ fn validate_zulip_stream_ids(data: &Data, errors: &mut Vec<String>) {
752763
if streams.is_empty() || streams.iter().all(|s| !s.includes_team_members()) {
753764
return Ok(());
754765
}
766+
755767
wrapper(team.members(data)?.iter(), errors, |member, _| {
756768
if let Some(member) = data.person(member) {
757769
if member.zulip_id().is_none() {

0 commit comments

Comments
 (0)