prevent creating admin if one already exists

This commit is contained in:
Matthew R Kasun 2021-10-14 11:19:49 -04:00
parent 643fbfacfa
commit 4356aea65a

View file

@ -348,8 +348,18 @@ func createAdmin(w http.ResponseWriter, r *http.Request) {
var admin models.User var admin models.User
// get node from body of request // get node from body of request
_ = json.NewDecoder(r.Body).Decode(&admin) _ = json.NewDecoder(r.Body).Decode(&admin)
hasadmin, err := HasAdmin()
if err != nil {
returnErrorResponse(w, r, formatError(err, "internal"))
return
}
if hasadmin {
returnErrorResponse(w, r, formatError(errors.New("admin user already exists"), "unauthorized"))
return
}
admin.IsAdmin = true admin.IsAdmin = true
admin, err := CreateUser(admin) fmt.Println(admin)
admin, err = CreateUser(admin)
if err != nil { if err != nil {
returnErrorResponse(w, r, formatError(err, "badrequest")) returnErrorResponse(w, r, formatError(err, "badrequest"))