From 283f34b9c6d207f0a103e7b4c7f6da2c7481c3ef Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Fri, 20 Apr 2018 08:44:18 -0400 Subject: 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 --- app/user.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'app/user.go') 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) } -- cgit v1.2.3-1-g7c22