mirror of
https://github.com/gravitl/netmaker.git
synced 2025-02-25 08:34:47 +08:00
updated logs, ensured admins could not be edited
This commit is contained in:
parent
9f0f6ae9b5
commit
6891b52cee
3 changed files with 15 additions and 6 deletions
|
@ -274,12 +274,12 @@ func updateUserNetworks(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err = logic.UpdateUserNetworks(userchange.Networks, &user)
|
err = logic.UpdateUserNetworks(userchange.Networks, userchange.IsAdmin, &user)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
returnErrorResponse(w, r, formatError(err, "badrequest"))
|
returnErrorResponse(w, r, formatError(err, "badrequest"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
functions.PrintUserLog(username, "networks were updated", 1)
|
functions.PrintUserLog(username, "status was updated", 1)
|
||||||
json.NewEncoder(w).Encode(user)
|
json.NewEncoder(w).Encode(user)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ package logic
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"github.com/go-playground/validator/v10"
|
"github.com/go-playground/validator/v10"
|
||||||
"github.com/gravitl/netmaker/database"
|
"github.com/gravitl/netmaker/database"
|
||||||
|
@ -153,12 +154,19 @@ func VerifyAuthRequest(authRequest models.UserAuthParams) (string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdateUserNetworks - updates the networks of a given user
|
// UpdateUserNetworks - updates the networks of a given user
|
||||||
func UpdateUserNetworks(newNetworks []string, currentUser *models.User) error {
|
func UpdateUserNetworks(newNetworks []string, isadmin bool, currentUser *models.User) error {
|
||||||
// check if user exists
|
// check if user exists
|
||||||
if _, err := GetUser(currentUser.UserName); err != nil {
|
if returnedUser, err := GetUser(currentUser.UserName); err != nil {
|
||||||
return err
|
return err
|
||||||
|
} else if returnedUser.IsAdmin {
|
||||||
|
return fmt.Errorf("can not make changes to an admin user, attempted to change %s", returnedUser.UserName)
|
||||||
|
}
|
||||||
|
if isadmin {
|
||||||
|
currentUser.IsAdmin = true
|
||||||
|
currentUser.Networks = nil
|
||||||
|
} else {
|
||||||
|
currentUser.Networks = newNetworks
|
||||||
}
|
}
|
||||||
currentUser.Networks = newNetworks
|
|
||||||
|
|
||||||
data, err := json.Marshal(currentUser)
|
data, err := json.Marshal(currentUser)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -62,10 +62,11 @@ func setWGConfig(node models.Node, network string, peerupdate bool) error {
|
||||||
var iface string
|
var iface string
|
||||||
iface = node.Interface
|
iface = node.Interface
|
||||||
err = setServerPeers(iface, node.PersistentKeepalive, peers)
|
err = setServerPeers(iface, node.PersistentKeepalive, peers)
|
||||||
|
Log("updated peers on server "+node.Name, 2)
|
||||||
} else {
|
} else {
|
||||||
err = initWireguard(&node, privkey, peers, hasGateway, gateways)
|
err = initWireguard(&node, privkey, peers, hasGateway, gateways)
|
||||||
|
Log("finished setting wg config on server "+node.Name, 3)
|
||||||
}
|
}
|
||||||
Log("finished setting wg config on server "+node.Name, 1)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue