refactor: remove community invitation only access
This commit is contained in:
parent
b262d7e88c
commit
3452eb72a8
|
@ -1229,10 +1229,6 @@ func (o *Community) ManualAccept() bool {
|
|||
return o.config.CommunityDescription.Permissions.Access == protobuf.CommunityPermissions_MANUAL_ACCEPT
|
||||
}
|
||||
|
||||
func (o *Community) InvitationOnly() bool {
|
||||
return o.config.CommunityDescription.Permissions.Access == protobuf.CommunityPermissions_INVITATION_ONLY
|
||||
}
|
||||
|
||||
func (o *Community) AutoAccept() bool {
|
||||
// We no longer have the notion of "no membership", but for historical reasons
|
||||
// we use `NO_MEMBERSHIP` to determine wether requests to join should be automatically
|
||||
|
|
|
@ -391,13 +391,6 @@ func (s *CommunitySuite) TestValidateRequestToJoin() {
|
|||
request: request,
|
||||
err: ErrNotAdmin,
|
||||
},
|
||||
{
|
||||
name: "invitation-only",
|
||||
config: s.configInvitationOnly(),
|
||||
signer: signer,
|
||||
request: request,
|
||||
err: ErrCantRequestAccess,
|
||||
},
|
||||
{
|
||||
name: "ens-only org and missing ens",
|
||||
config: s.configENSOnly(),
|
||||
|
@ -429,14 +422,6 @@ func (s *CommunitySuite) TestValidateRequestToJoin() {
|
|||
request: requestWithChatID,
|
||||
err: ErrCantRequestAccess,
|
||||
},
|
||||
// NO_MEMBERSHIP-INVITATION_ONLY = error as it's invitation only
|
||||
{
|
||||
name: "no-membership org with no-membeship chat",
|
||||
config: s.configNoMembershipOrgInvitationOnlyChat(),
|
||||
signer: signer,
|
||||
request: requestWithChatID,
|
||||
err: ErrCantRequestAccess,
|
||||
},
|
||||
// NO_MEMBERSHIP-ON_REQUEST = this is a valid case
|
||||
{
|
||||
name: "no-membership org with on-request chat",
|
||||
|
@ -444,30 +429,6 @@ func (s *CommunitySuite) TestValidateRequestToJoin() {
|
|||
signer: signer,
|
||||
request: requestWithChatID,
|
||||
},
|
||||
// INVITATION_ONLY-INVITATION_ONLY error as it's invitation only
|
||||
{
|
||||
name: "invitation-only org with invitation-only chat",
|
||||
config: s.configInvitationOnlyOrgInvitationOnlyChat(),
|
||||
signer: signer,
|
||||
request: requestWithChatID,
|
||||
err: ErrCantRequestAccess,
|
||||
},
|
||||
// ON_REQUEST-INVITATION_ONLY error as it's invitation only
|
||||
{
|
||||
name: "on-request org with invitation-only chat",
|
||||
config: s.configOnRequestOrgInvitationOnlyChat(),
|
||||
signer: signer,
|
||||
request: requestWithChatID,
|
||||
err: ErrCantRequestAccess,
|
||||
},
|
||||
// ON_REQUEST-INVITATION_ONLY error as it's invitation only
|
||||
{
|
||||
name: "on-request org with invitation-only chat",
|
||||
config: s.configOnRequestOrgInvitationOnlyChat(),
|
||||
signer: signer,
|
||||
request: requestWithChatID,
|
||||
err: ErrCantRequestAccess,
|
||||
},
|
||||
// ON_REQUEST-ON_REQUEST success
|
||||
{
|
||||
name: "on-request org with on-request chat",
|
||||
|
@ -513,32 +474,6 @@ func (s *CommunitySuite) TestCanPost() {
|
|||
member: notMember,
|
||||
canPost: false,
|
||||
},
|
||||
{
|
||||
name: "no-membership org with invitation only chat-not-a-member",
|
||||
config: s.configNoMembershipOrgInvitationOnlyChat(),
|
||||
member: notMember,
|
||||
canPost: false,
|
||||
},
|
||||
{
|
||||
name: "no-membership org with invitation only chat member",
|
||||
config: s.configNoMembershipOrgInvitationOnlyChat(),
|
||||
member: member,
|
||||
canPost: true,
|
||||
},
|
||||
{
|
||||
name: "no-membership org with invitation only chat-not-a-member valid grant",
|
||||
config: s.configNoMembershipOrgInvitationOnlyChat(),
|
||||
member: notMember,
|
||||
canPost: false,
|
||||
grant: validGrant,
|
||||
},
|
||||
{
|
||||
name: "no-membership org with invitation only chat-not-a-member invalid grant",
|
||||
config: s.configNoMembershipOrgInvitationOnlyChat(),
|
||||
member: notMember,
|
||||
canPost: false,
|
||||
grant: invalidGrant,
|
||||
},
|
||||
{
|
||||
name: "membership org with no-membership chat-not-a-member",
|
||||
config: s.configOnRequestOrgNoMembershipChat(),
|
||||
|
@ -671,7 +606,7 @@ func (s *CommunitySuite) TestHandleCommunityDescription() {
|
|||
changes.MembersAdded[s.member3Key] = &protobuf.CommunityMember{}
|
||||
changes.ChatsAdded[testChatID2] = &protobuf.CommunityChat{
|
||||
Identity: &protobuf.ChatIdentity{DisplayName: "added-chat", Description: "description"},
|
||||
Permissions: &protobuf.CommunityPermissions{Access: protobuf.CommunityPermissions_INVITATION_ONLY},
|
||||
Permissions: &protobuf.CommunityPermissions{Access: protobuf.CommunityPermissions_MANUAL_ACCEPT},
|
||||
Members: make(map[string]*protobuf.CommunityMember)}
|
||||
changes.ChatsAdded[testChatID2].Members[s.member3Key] = &protobuf.CommunityMember{}
|
||||
|
||||
|
@ -848,12 +783,6 @@ func (s *CommunitySuite) configOnRequest() Config {
|
|||
return s.newConfig(s.identity, description)
|
||||
}
|
||||
|
||||
func (s *CommunitySuite) configInvitationOnly() Config {
|
||||
description := s.emptyCommunityDescription()
|
||||
description.Permissions.Access = protobuf.CommunityPermissions_INVITATION_ONLY
|
||||
return s.newConfig(s.identity, description)
|
||||
}
|
||||
|
||||
func (s *CommunitySuite) configNoMembershipOrgNoMembershipChat() Config {
|
||||
description := s.emptyCommunityDescriptionWithChat()
|
||||
description.Permissions.Access = protobuf.CommunityPermissions_AUTO_ACCEPT
|
||||
|
@ -861,20 +790,6 @@ func (s *CommunitySuite) configNoMembershipOrgNoMembershipChat() Config {
|
|||
return s.newConfig(s.identity, description)
|
||||
}
|
||||
|
||||
func (s *CommunitySuite) configNoMembershipOrgInvitationOnlyChat() Config {
|
||||
description := s.emptyCommunityDescriptionWithChat()
|
||||
description.Permissions.Access = protobuf.CommunityPermissions_AUTO_ACCEPT
|
||||
description.Chats[testChatID1].Permissions.Access = protobuf.CommunityPermissions_INVITATION_ONLY
|
||||
return s.newConfig(s.identity, description)
|
||||
}
|
||||
|
||||
func (s *CommunitySuite) configInvitationOnlyOrgInvitationOnlyChat() Config {
|
||||
description := s.emptyCommunityDescriptionWithChat()
|
||||
description.Permissions.Access = protobuf.CommunityPermissions_INVITATION_ONLY
|
||||
description.Chats[testChatID1].Permissions.Access = protobuf.CommunityPermissions_INVITATION_ONLY
|
||||
return s.newConfig(s.identity, description)
|
||||
}
|
||||
|
||||
func (s *CommunitySuite) configNoMembershipOrgOnRequestChat() Config {
|
||||
description := s.emptyCommunityDescriptionWithChat()
|
||||
description.Permissions.Access = protobuf.CommunityPermissions_AUTO_ACCEPT
|
||||
|
@ -889,13 +804,6 @@ func (s *CommunitySuite) configOnRequestOrgOnRequestChat() Config {
|
|||
return s.newConfig(s.identity, description)
|
||||
}
|
||||
|
||||
func (s *CommunitySuite) configOnRequestOrgInvitationOnlyChat() Config {
|
||||
description := s.emptyCommunityDescriptionWithChat()
|
||||
description.Permissions.Access = protobuf.CommunityPermissions_MANUAL_ACCEPT
|
||||
description.Chats[testChatID1].Permissions.Access = protobuf.CommunityPermissions_INVITATION_ONLY
|
||||
return s.newConfig(s.identity, description)
|
||||
}
|
||||
|
||||
func (s *CommunitySuite) configOnRequestOrgNoMembershipChat() Config {
|
||||
description := s.emptyCommunityDescriptionWithChat()
|
||||
description.Permissions.Access = protobuf.CommunityPermissions_MANUAL_ACCEPT
|
||||
|
@ -919,12 +827,12 @@ func (s *CommunitySuite) configENSOnly() Config {
|
|||
}
|
||||
|
||||
func (s *CommunitySuite) config() Config {
|
||||
config := s.configOnRequestOrgInvitationOnlyChat()
|
||||
config := s.configOnRequestOrgOnRequestChat()
|
||||
return config
|
||||
}
|
||||
|
||||
func (s *CommunitySuite) buildCommunityDescription() *protobuf.CommunityDescription {
|
||||
config := s.configOnRequestOrgInvitationOnlyChat()
|
||||
config := s.configOnRequestOrgOnRequestChat()
|
||||
desc := config.CommunityDescription
|
||||
desc.Clock = 1
|
||||
desc.Members = make(map[string]*protobuf.CommunityMember)
|
||||
|
@ -1016,7 +924,7 @@ func (s *CommunitySuite) addedChatCommunityDescription(org *Community) *protobuf
|
|||
description.Members[s.member3Key] = &protobuf.CommunityMember{}
|
||||
description.Chats[testChatID2] = &protobuf.CommunityChat{
|
||||
Identity: &protobuf.ChatIdentity{DisplayName: "added-chat", Description: "description"},
|
||||
Permissions: &protobuf.CommunityPermissions{Access: protobuf.CommunityPermissions_INVITATION_ONLY},
|
||||
Permissions: &protobuf.CommunityPermissions{Access: protobuf.CommunityPermissions_MANUAL_ACCEPT},
|
||||
Members: make(map[string]*protobuf.CommunityMember)}
|
||||
description.Chats[testChatID2].Members[s.member3Key] = &protobuf.CommunityMember{}
|
||||
|
||||
|
|
|
@ -1672,7 +1672,7 @@ func (m *Manager) handleCommunityDescriptionMessageCommon(community *Community,
|
|||
}
|
||||
|
||||
// If the community require membership, we set whether we should leave/join the community after a state change
|
||||
if community.InvitationOnly() || community.ManualAccept() || community.AutoAccept() {
|
||||
if community.ManualAccept() || community.AutoAccept() {
|
||||
if changes.HasNewMember(pkString) {
|
||||
hasPendingRequest, err := m.persistence.HasPendingRequestsToJoinForUserAndCommunity(pkString, changes.Community.ID())
|
||||
if err != nil {
|
||||
|
|
|
@ -2450,7 +2450,6 @@ func (s *MessengerCommunitiesSuite) TestSyncCommunity() {
|
|||
s.Equal(newCommunity.Muted(), tnc.Muted())
|
||||
s.Equal(newCommunity.Joined(), tnc.Joined())
|
||||
s.Equal(newCommunity.Spectated(), tnc.Spectated())
|
||||
s.Equal(newCommunity.InvitationOnly(), tnc.InvitationOnly())
|
||||
|
||||
s.True(newCommunity.IsControlNode())
|
||||
s.True(newCommunity.IsOwner())
|
||||
|
|
Loading…
Reference in New Issue