mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-18 16:17:03 +00:00
Other: Add UserLoading/UserLoadFail events
This commit is contained in:
@ -311,18 +311,26 @@ func (bridge *Bridge) loadUsers(ctx context.Context) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
logrus.WithField("userID", user.UserID()).Debug("Loading user")
|
if safe.RLockRet(func() bool { return mapHas(bridge.users, user.UserID()) }, bridge.usersLock) {
|
||||||
|
|
||||||
if safe.RLockRet(func() bool {
|
|
||||||
return mapHas(bridge.users, user.UserID())
|
|
||||||
}, bridge.usersLock) {
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logrus.WithField("userID", user.UserID()).Debug("Loading connected user")
|
||||||
|
|
||||||
|
bridge.publish(events.UserLoading{
|
||||||
|
UserID: user.UserID(),
|
||||||
|
})
|
||||||
|
|
||||||
if err := bridge.loadUser(ctx, user); err != nil {
|
if err := bridge.loadUser(ctx, user); err != nil {
|
||||||
logrus.WithError(err).Error("Failed to load connected user")
|
logrus.WithError(err).Error("Failed to load connected user")
|
||||||
|
|
||||||
|
bridge.publish(events.UserLoadFail{
|
||||||
|
UserID: user.UserID(),
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
bridge.publish(events.UserLoaded{
|
logrus.WithField("userID", user.UserID()).Debug("Loaded user")
|
||||||
|
|
||||||
|
bridge.publish(events.UserLoadSuccess{
|
||||||
UserID: user.UserID(),
|
UserID: user.UserID(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,7 +23,19 @@ type AllUsersLoaded struct {
|
|||||||
eventBase
|
eventBase
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserLoaded struct {
|
type UserLoading struct {
|
||||||
|
eventBase
|
||||||
|
|
||||||
|
UserID string
|
||||||
|
}
|
||||||
|
|
||||||
|
type UserLoadSuccess struct {
|
||||||
|
eventBase
|
||||||
|
|
||||||
|
UserID string
|
||||||
|
}
|
||||||
|
|
||||||
|
type UserLoadFail struct {
|
||||||
eventBase
|
eventBase
|
||||||
|
|
||||||
UserID string
|
UserID string
|
||||||
|
|||||||
@ -244,7 +244,10 @@ func (s *Service) watchEvents() { //nolint:funlen
|
|||||||
case events.UserChanged:
|
case events.UserChanged:
|
||||||
_ = s.SendEvent(NewUserChangedEvent(event.UserID))
|
_ = s.SendEvent(NewUserChangedEvent(event.UserID))
|
||||||
|
|
||||||
case events.UserLoaded:
|
case events.UserLoadSuccess:
|
||||||
|
_ = s.SendEvent(NewUserChangedEvent(event.UserID))
|
||||||
|
|
||||||
|
case events.UserLoadFail:
|
||||||
_ = s.SendEvent(NewUserChangedEvent(event.UserID))
|
_ = s.SendEvent(NewUserChangedEvent(event.UserID))
|
||||||
|
|
||||||
case events.UserLoggedIn:
|
case events.UserLoggedIn:
|
||||||
|
|||||||
Reference in New Issue
Block a user