fix: do not ignore banned list if EventsData is nil (#4473)
This commit is contained in:
parent
b1e000ed59
commit
45bd8c16da
|
@ -1555,15 +1555,14 @@ func (o *Community) tokenPermissions() map[string]*CommunityTokenPermission {
|
|||
func (o *Community) PendingAndBannedMembers() map[string]CommunityMemberState {
|
||||
result := make(map[string]CommunityMemberState)
|
||||
|
||||
// Non-privileged members should not see pending and banned members
|
||||
if o.config.EventsData == nil || !o.IsPrivilegedMember(o.MemberIdentity()) {
|
||||
return result
|
||||
}
|
||||
|
||||
for _, bannedMemberID := range o.config.CommunityDescription.BanList {
|
||||
result[bannedMemberID] = CommunityMemberBanned
|
||||
}
|
||||
|
||||
if o.config.EventsData == nil {
|
||||
return result
|
||||
}
|
||||
|
||||
processedEvents := make(map[string]bool)
|
||||
for _, event := range o.config.EventsData.Events {
|
||||
if processedEvents[event.MemberToAction] {
|
||||
|
|
|
@ -668,8 +668,8 @@ func kickMember(base CommunityEventsTestsInterface, communityID types.HexBytes,
|
|||
return errors.New("alice should not be not kicked (yet)")
|
||||
}
|
||||
|
||||
if len(modifiedCommmunity.PendingAndBannedMembers()) > 0 {
|
||||
return errors.New("alice should not know about banned and pending members")
|
||||
if len(modifiedCommmunity.PendingAndBannedMembers()) == 0 {
|
||||
return errors.New("alice should know about banned and pending members")
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -749,8 +749,8 @@ func banMember(base CommunityEventsTestsInterface, banRequest *requests.BanUserF
|
|||
return errors.New("alice should not be not banned (yet)")
|
||||
}
|
||||
|
||||
if len(modifiedCommmunity.PendingAndBannedMembers()) > 0 {
|
||||
return errors.New("alice should not know about banned and pending members")
|
||||
if len(modifiedCommmunity.PendingAndBannedMembers()) == 0 {
|
||||
return errors.New("alice should know about banned and pending members")
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -817,8 +817,8 @@ func unbanMember(base CommunityEventsTestsInterface, unbanRequest *requests.Unba
|
|||
return err
|
||||
}
|
||||
|
||||
if len(modifiedCommmunity.PendingAndBannedMembers()) > 0 {
|
||||
return errors.New("alice should not know about banned and pending members")
|
||||
if len(modifiedCommmunity.PendingAndBannedMembers()) == 0 {
|
||||
return errors.New("alice should know about banned and pending members")
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
@ -2336,6 +2336,7 @@ func (s *MessengerCommunitiesSuite) TestBanUser() {
|
|||
community = response.Communities()[0]
|
||||
s.Require().False(community.HasMember(&s.alice.identity.PublicKey))
|
||||
s.Require().True(community.IsBanned(&s.alice.identity.PublicKey))
|
||||
s.Require().Len(community.PendingAndBannedMembers(), 1)
|
||||
|
||||
response, err = s.owner.UnbanUserFromCommunity(
|
||||
&requests.UnbanUserFromCommunity{
|
||||
|
|
Loading…
Reference in New Issue