mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-13 18:03:10 -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 {
|
if ev.Type() == "m.room.member" && ev.StateKey() != nil {
|
||||||
localpart := getLocalPart(*ev.StateKey())
|
localpart := getLocalPart(*ev.StateKey())
|
||||||
roomID := ev.RoomID()
|
roomID := ev.RoomID()
|
||||||
|
membership, err := ev.Membership()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
switch membership {
|
||||||
|
case "join":
|
||||||
if err := s.db.SaveMembership(localpart, roomID); err != nil {
|
if err := s.db.SaveMembership(localpart, roomID); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
case "leave":
|
||||||
|
case "ban":
|
||||||
|
if err := s.db.RemoveMembership(localpart, roomID); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue