mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 09:22:42 +08:00
add update check for validate relay
This commit is contained in:
@@ -650,7 +650,7 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
||||
NodeID: newNode.ID.String(),
|
||||
NetID: newNode.Network,
|
||||
RelayedNodes: newNode.RelayedNodes,
|
||||
})
|
||||
}, true)
|
||||
if err != nil {
|
||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
||||
return
|
||||
|
@@ -29,6 +29,6 @@ var RelayUpdates = func(currentNode, newNode *models.Node) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
var ValidateRelay = func(relay models.RelayRequest) error {
|
||||
var ValidateRelay = func(relay models.RelayRequest, update bool) error {
|
||||
return nil
|
||||
}
|
||||
|
@@ -44,7 +44,7 @@ func CreateRelay(relay models.RelayRequest) ([]models.Node, models.Node, error)
|
||||
if host.OS != "linux" {
|
||||
return returnnodes, models.Node{}, fmt.Errorf("only linux machines can be relay nodes")
|
||||
}
|
||||
err = ValidateRelay(relay)
|
||||
err = ValidateRelay(relay, false)
|
||||
if err != nil {
|
||||
return returnnodes, models.Node{}, err
|
||||
}
|
||||
@@ -101,14 +101,14 @@ func SetRelayedNodes(setRelayed bool, relay string, relayed []string) []models.N
|
||||
// }
|
||||
|
||||
// ValidateRelay - checks if relay is valid
|
||||
func ValidateRelay(relay models.RelayRequest) error {
|
||||
func ValidateRelay(relay models.RelayRequest, update bool) error {
|
||||
var err error
|
||||
|
||||
node, err := logic.GetNodeByID(relay.NodeID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if node.IsRelay {
|
||||
if !update && node.IsRelay {
|
||||
return errors.New("node is already acting as a relay")
|
||||
}
|
||||
for _, relayedNodeID := range relay.RelayedNodes {
|
||||
|
Reference in New Issue
Block a user