mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-16 10:33:11 -06:00
Delete user profile in new consumer
This commit is contained in:
parent
f3b9514f18
commit
ccef3b00b7
|
|
@ -103,9 +103,31 @@ func (s *OutputRoomEventConsumer) onMessage(ctx context.Context, msgs []*nats.Ms
|
||||||
}).WithError(err).Errorf("userapi consumer: process room event failure")
|
}).WithError(err).Errorf("userapi consumer: process room event failure")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := s.deleteProfile(ctx, event); err != nil {
|
||||||
|
log.WithFields(log.Fields{
|
||||||
|
"event_id": event.EventID(),
|
||||||
|
}).WithError(err).WithField("user_id", *event.StateKey()).Warn("userapi consumer: failed to delete user profile")
|
||||||
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *OutputRoomEventConsumer) deleteProfile(ctx context.Context, event *gomatrixserverlib.HeaderedEvent) error {
|
||||||
|
if event.Type() != gomatrixserverlib.MRoomMember || event.StateKey() == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
localPart, domain, err := gomatrixserverlib.SplitID('@', *event.StateKey())
|
||||||
|
if err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
// Profiles from ourselves are updated by API calls, don't delete them.
|
||||||
|
if domain == s.cfg.Matrix.ServerName {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
log.WithField("user_id", *event.StateKey()).Debug("Deleting remote user profile")
|
||||||
|
return s.db.DeleteProfile(ctx, localPart, domain)
|
||||||
|
}
|
||||||
|
|
||||||
func (s *OutputRoomEventConsumer) processMessage(ctx context.Context, event *gomatrixserverlib.HeaderedEvent, streamPos uint64) error {
|
func (s *OutputRoomEventConsumer) processMessage(ctx context.Context, event *gomatrixserverlib.HeaderedEvent, streamPos uint64) error {
|
||||||
members, roomSize, err := s.localRoomMembers(ctx, event.RoomID())
|
members, roomSize, err := s.localRoomMembers(ctx, event.RoomID())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue