diff --git a/api.go b/api.go index 05d4d740a3e7c7d4a7ea7fa612890e01ca2b8f90..178c3f06004a8d120029552b385aad619309f921 100644 --- a/api.go +++ b/api.go @@ -118,6 +118,9 @@ func registerAPI() { return } + if info.Privileged { + instance.UserPrivileged(flake, payload.Privileged) + } instance.UserUsernameUpdate(flake, payload.Username) }) diff --git a/api/types.go b/api/types.go index 5c58f0610394cb23226334960bc2e812c7cda40d..a86cfb73bd4725049b4e56faa8ed9b5b6279dbad 100644 --- a/api/types.go +++ b/api/types.go @@ -13,7 +13,8 @@ type UserCreatePayload struct { } type UserUpdatePayload struct { - Username string `json:"username"` + Username string `json:"username"` + Privileged bool `json:"privileged,omitempty"` } type UserSecretPayload struct { diff --git a/client/user.go b/client/user.go index 97985e6d5df0c9cb25e5a50765b36040c49813eb..53c88291dfe55249b2cc191c63ff3edaa5ff7f9b 100644 --- a/client/user.go +++ b/client/user.go @@ -52,10 +52,10 @@ func (r *Remote) UserAdd(username string, password string, privileged bool) (sto } // UserUpdate updates a user. -func (r *Remote) UserUpdate(flake, newname string) error { +func (r *Remote) UserUpdate(flake, newname string, privileged bool) error { return r.requestJSONnoResp(http.MethodPatch, populateField(api.UserField, "flake", flake), - api.UserUpdatePayload{Username: newname}) + api.UserUpdatePayload{Username: newname, Privileged: privileged}) } // UserDestroy destroys a user.