Allow *User object to fill bridge states manually

This commit is contained in:
Tulir Asokan 2023-07-15 02:32:18 +03:00
commit 82f817eff6

View file

@ -78,11 +78,20 @@ type BridgeStateFiller interface {
GetRemoteName() string
}
type CustomBridgeStateFiller interface {
BridgeStateFiller
FillBridgeState(BridgeState) BridgeState
}
func (pong BridgeState) Fill(user BridgeStateFiller) BridgeState {
if user != nil {
pong.UserID = user.GetMXID()
pong.RemoteID = user.GetRemoteID()
pong.RemoteName = user.GetRemoteName()
if custom, ok := user.(CustomBridgeStateFiller); ok {
pong = custom.FillBridgeState(pong)
}
}
pong.Timestamp = jsontime.UnixNow()