PLT-7978 Add websocket event for user role update (#7745)

* Add websocket event for user role update

* Fix tests

* More test fixes
Этот коммит содержится в:
Joram Wilander
2017-10-31 12:00:21 -04:00
коммит произвёл George Goldberg
родитель 6886de04d4
Коммит 06ec648cf3
15 изменённых файлов: 37 добавлений и 29 удалений

Просмотреть файл

@@ -657,7 +657,7 @@ func (a *App) ImportUser(data *UserImportData, dryRun bool) *model.AppError {
}
}
if hasUserRolesChanged {
if savedUser, err = a.UpdateUserRoles(user.Id, roles); err != nil {
if savedUser, err = a.UpdateUserRoles(user.Id, roles, false); err != nil {
return err
}
}

Просмотреть файл

@@ -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
}