NET-53 Fixed user update returns old data (#2312)

* fixed gids in user update

* review comments

* review comments

* review comments
This commit is contained in:
Tobias Cudnik 2023-05-22 23:57:32 +02:00 committed by GitHub
parent 27d110b1a4
commit 615f058b3f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -290,16 +290,16 @@ func updateUserNetworks(w http.ResponseWriter, r *http.Request) {
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
return
}
var userchange models.User
var userChange *models.User
// we decode our body request params
err = json.NewDecoder(r.Body).Decode(&userchange)
err = json.NewDecoder(r.Body).Decode(userChange)
if err != nil {
logger.Log(0, username, "error decoding request body: ",
err.Error())
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
return
}
err = logic.UpdateUserNetworks(userchange.Networks, userchange.Groups, userchange.IsAdmin, &models.ReturnUser{
err = logic.UpdateUserNetworks(userChange.Networks, userChange.Groups, userChange.IsAdmin, &models.ReturnUser{
Groups: user.Groups,
IsAdmin: user.IsAdmin,
Networks: user.Networks,
@ -313,7 +313,13 @@ func updateUserNetworks(w http.ResponseWriter, r *http.Request) {
return
}
logger.Log(1, username, "status was updated")
json.NewEncoder(w).Encode(user)
// re-read and return the new user struct
if userChange, err = logic.GetUser(username); err != nil {
logger.Log(0, username, "failed to fetch user: ", err.Error())
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
return
}
json.NewEncoder(w).Encode(userChange)
}
// swagger:route PUT /api/users/{username} user updateUser