mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-10 16:33:11 -06:00
Fixed membership not being saved on the right conditions + added membership removal
This commit is contained in:
parent
9120188829
commit
013a0a3732
|
|
@ -89,9 +89,21 @@ func (s *OutputRoomEvent) onMessage(msg *sarama.ConsumerMessage) error {
|
|||
if ev.Type() == "m.room.member" && ev.StateKey() != nil {
|
||||
localpart := getLocalPart(*ev.StateKey())
|
||||
roomID := ev.RoomID()
|
||||
if err := s.db.SaveMembership(localpart, roomID); err != nil {
|
||||
membership, err := ev.Membership()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
switch membership {
|
||||
case "join":
|
||||
if err := s.db.SaveMembership(localpart, roomID); err != nil {
|
||||
return err
|
||||
}
|
||||
case "leave":
|
||||
case "ban":
|
||||
if err := s.db.RemoveMembership(localpart, roomID); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
|||
Loading…
Reference in a new issue