fix: use correct field name in user put api (#2026)
This commit is contained in:
parent
06d9c03e92
commit
d94acdd89a
|
@ -177,7 +177,7 @@ var userPutHandler = withSelfOrAdmin(func(w http.ResponseWriter, r *http.Request
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v := range req.Which {
|
for k, v := range req.Which {
|
||||||
v = cases.Title(language.English).String(v)
|
v = cases.Title(language.English, cases.NoLower).String(v)
|
||||||
req.Which[k] = v
|
req.Which[k] = v
|
||||||
|
|
||||||
if v == "Password" {
|
if v == "Password" {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package bolt
|
package bolt
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
|
||||||
"github.com/asdine/storm/v3"
|
"github.com/asdine/storm/v3"
|
||||||
|
@ -58,7 +59,11 @@ func (st usersBackend) Update(user *users.User, fields ...string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, field := range fields {
|
for _, field := range fields {
|
||||||
val := reflect.ValueOf(user).Elem().FieldByName(field).Interface()
|
userField := reflect.ValueOf(user).Elem().FieldByName(field)
|
||||||
|
if !userField.IsValid() {
|
||||||
|
return fmt.Errorf("invalid field: %s", field)
|
||||||
|
}
|
||||||
|
val := userField.Interface()
|
||||||
if err := st.db.UpdateField(user, field, val); err != nil {
|
if err := st.db.UpdateField(user, field, val); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue