diff options
author | Joram Wilander <jwawilander@gmail.com> | 2018-04-20 08:44:18 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-20 08:44:18 -0400 |
commit | 283f34b9c6d207f0a103e7b4c7f6da2c7481c3ef (patch) | |
tree | 9a9d0dfb9f536d37e9817e3407c32e7ec0c11cdf /app/user.go | |
parent | 7987c95fcd7f7a9e6d4d174be403bf170f7b9115 (diff) | |
download | chat-283f34b9c6d207f0a103e7b4c7f6da2c7481c3ef.tar.gz chat-283f34b9c6d207f0a103e7b4c7f6da2c7481c3ef.tar.bz2 chat-283f34b9c6d207f0a103e7b4c7f6da2c7481c3ef.zip |
MM-10007 Send an admin and regular WS events when a user is updated (#8588)
* Add user.DeepCopy() function
* Add omit admins/non-admins to WS broadcast and use for updating users
* Updates per feedback and adding unit test for ShouldSendEvent
Diffstat (limited to 'app/user.go')
-rw-r--r-- | app/user.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/app/user.go b/app/user.go index 80c8b6ef2..34076555e 100644 --- a/app/user.go +++ b/app/user.go @@ -1021,10 +1021,17 @@ func (a *App) UpdateUserAuth(userId string, userAuth *model.UserAuth) (*model.Us } func (a *App) sendUpdatedUserEvent(user model.User) { - a.SanitizeProfile(&user, false) + adminCopyOfUser := user.DeepCopy() + a.SanitizeProfile(adminCopyOfUser, true) + adminMessage := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_USER_UPDATED, "", "", "", nil) + adminMessage.Add("user", *adminCopyOfUser) + adminMessage.Broadcast.ContainsSensitiveData = true + a.Publish(adminMessage) + a.SanitizeProfile(&user, false) message := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_USER_UPDATED, "", "", "", nil) message.Add("user", user) + message.Broadcast.ContainsSanitizedData = true a.Publish(message) } |