mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-13 18:03:10 -06:00
Fixed membership removal
This commit is contained in:
parent
837e3a62bb
commit
3624952372
|
|
@ -122,10 +122,17 @@ func (d *Database) SaveMembership(localpart string, roomID string, eventID strin
|
||||||
return d.memberships.insertMembership(localpart, roomID, eventID)
|
return d.memberships.insertMembership(localpart, roomID, eventID)
|
||||||
}
|
}
|
||||||
|
|
||||||
// RemoveMembership removes the membership of which the `join` membership event
|
// RemoveMembership removes the membership linking the user matching a given
|
||||||
// ID matches with the given event ID.
|
// localpart and the room matching a given room ID.
|
||||||
// If the removal fails, or if there is no membership to remove, returns an error
|
// If the removal fails, or if there is no membership to remove, returns an error
|
||||||
func (d *Database) RemoveMembership(eventID string) error {
|
func (d *Database) RemoveMembership(localpart string, roomID string) error {
|
||||||
|
return d.memberships.deleteMembership(localpart, roomID)
|
||||||
|
}
|
||||||
|
|
||||||
|
// RemoveMembershipByEventID removes the membership of which the `join` membership
|
||||||
|
// event ID matches a given event ID
|
||||||
|
// If the removal fails, or if there is no membership to remove, returns an error
|
||||||
|
func (d *Database) RemoveMembershipByEventID(eventID string) error {
|
||||||
return d.memberships.deleteMembershipByEventID(eventID)
|
return d.memberships.deleteMembershipByEventID(eventID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ func (s *OutputRoomEvent) onMessage(msg *sarama.ConsumerMessage) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, id := range output.NewRoomEvent.RemovesStateEventIDs {
|
for _, id := range output.NewRoomEvent.RemovesStateEventIDs {
|
||||||
if err := s.db.RemoveMembership(id); err != nil {
|
if err := s.db.RemoveMembershipByEventID(id); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -183,7 +183,7 @@ func (s *OutputRoomEvent) updateMembership(ev gomatrixserverlib.Event) error {
|
||||||
}
|
}
|
||||||
case "leave":
|
case "leave":
|
||||||
case "ban":
|
case "ban":
|
||||||
if err := s.db.RemoveMembership(eventID); err != nil {
|
if err := s.db.RemoveMembership(localpart, roomID); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue