Browse Source

add update check for validate relay

abhishek9686 1 year ago
parent
commit
8ac864fec8
3 changed files with 5 additions and 5 deletions
  1. 1 1
      controllers/node.go
  2. 1 1
      logic/relay.go
  3. 3 3
      pro/logic/relays.go

+ 1 - 1
controllers/node.go

@@ -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

+ 1 - 1
logic/relay.go

@@ -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
 }

+ 3 - 3
pro/logic/relays.go

@@ -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 {