Implement PUT /users/{user_id}/patch endpoint for APIv4 (#5418)

Этот коммит содержится в:
Joram Wilander
2017-02-16 09:46:55 -05:00
коммит произвёл Harrison Healey
родитель 8f26224159
Коммит f87d42916f
5 изменённых файлов: 203 добавлений и 5 удалений

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

@@ -858,15 +858,39 @@ func UpdateUserAsUser(user *model.User, siteURL string, asAdmin bool) (*model.Us
SanitizeProfile(updatedUser, asAdmin)
omitUsers := make(map[string]bool, 1)
omitUsers[updatedUser.Id] = true
message := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_USER_UPDATED, "", "", "", omitUsers)
message.Add("user", updatedUser)
go Publish(message)
sendUpdatedUserEvent(updatedUser)
return updatedUser, nil
}
func PatchUser(userId string, patch *model.UserPatch, siteURL string, asAdmin bool) (*model.User, *model.AppError) {
user, err := GetUser(userId)
if err != nil {
return nil, err
}
user.Patch(patch)
updatedUser, err := UpdateUser(user, siteURL, true)
if err != nil {
return nil, err
}
SanitizeProfile(updatedUser, asAdmin)
sendUpdatedUserEvent(updatedUser)
return updatedUser, nil
}
func sendUpdatedUserEvent(user *model.User) {
omitUsers := make(map[string]bool, 1)
omitUsers[user.Id] = true
message := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_USER_UPDATED, "", "", "", omitUsers)
message.Add("user", user)
go Publish(message)
}
func UpdateUser(user *model.User, siteURL string, sendNotifications bool) (*model.User, *model.AppError) {
if result := <-Srv.Store.User().Update(user, false); result.Err != nil {
return nil, result.Err