summaryrefslogtreecommitdiffstats
path: root/app/user.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-10-31 12:00:21 -0400
committerGeorge Goldberg <george@gberg.me>2017-10-31 16:00:21 +0000
commit06ec648cf30e3968c0fdb2514c8d59dff97c757c (patch)
treec801a9bbbdeca6704b91d5d093cb937db5cd9d00 /app/user.go
parent6886de04d4215ea45ae535b64a604a79292bff77 (diff)
downloadchat-06ec648cf30e3968c0fdb2514c8d59dff97c757c.tar.gz
chat-06ec648cf30e3968c0fdb2514c8d59dff97c757c.tar.bz2
chat-06ec648cf30e3968c0fdb2514c8d59dff97c757c.zip
PLT-7978 Add websocket event for user role update (#7745)
* Add websocket event for user role update * Fix tests * More test fixes
Diffstat (limited to 'app/user.go')
-rw-r--r--app/user.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/app/user.go b/app/user.go
index e6ae7f174..a4513af9a 100644
--- a/app/user.go
+++ b/app/user.go
@@ -1188,7 +1188,7 @@ func (a *App) DeleteToken(token *model.Token) *model.AppError {
return nil
}
-func (a *App) UpdateUserRoles(userId string, newRoles string) (*model.User, *model.AppError) {
+func (a *App) UpdateUserRoles(userId string, newRoles string, sendWebSocketEvent bool) (*model.User, *model.AppError) {
var user *model.User
var err *model.AppError
if user, err = a.GetUser(userId); err != nil {
@@ -1214,6 +1214,13 @@ func (a *App) UpdateUserRoles(userId string, newRoles string) (*model.User, *mod
a.ClearSessionCacheForUser(user.Id)
+ if sendWebSocketEvent {
+ message := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_USER_ROLE_UPDATED, "", "", user.Id, nil)
+ message.Add("user_id", user.Id)
+ message.Add("roles", newRoles)
+ a.Publish(message)
+ }
+
return ruser, nil
}