Browse Source

refactored unneccesary db call

0xdcarns 3 years ago
parent
commit
f91dae5355
2 changed files with 16 additions and 28 deletions
  1. 15 28
      logic/server.go
  2. 1 0
      netclient/ncutils/netclientutils.go

+ 15 - 28
logic/server.go

@@ -126,7 +126,7 @@ func ServerJoin(network string, serverID string, privateKey string) error {
 	if err = StorePrivKey(node.ID, privateKey); err != nil {
 	if err = StorePrivKey(node.ID, privateKey); err != nil {
 		return err
 		return err
 	}
 	}
-	if err = ServerPush(node.MacAddress, node.Network); err != nil {
+	if err = ServerPush(node); err != nil {
 		return err
 		return err
 	}
 	}
 
 
@@ -154,7 +154,7 @@ func ServerCheckin(mac string, network string) error {
 		return err
 		return err
 	}
 	}
 
 
-	newNode, err = ServerPull(mac, network, false)
+	newNode, err = ServerPull(&serverNode, false)
 	if isDeleteError(err) {
 	if isDeleteError(err) {
 		return ServerLeave(mac, network)
 		return ServerLeave(mac, network)
 	} else if err != nil {
 	} else if err != nil {
@@ -166,22 +166,16 @@ func ServerCheckin(mac string, network string) error {
 		return errors.New("node has been removed")
 		return errors.New("node has been removed")
 	}
 	}
 
 
-	return ServerPush(newNode.MacAddress, newNode.Network)
+	return ServerPush(newNode)
 }
 }
 
 
 // ServerPull - pulls current config/peers for server
 // ServerPull - pulls current config/peers for server
-func ServerPull(mac string, network string, onErr bool) (*models.Node, error) {
+func ServerPull(serverNode *models.Node, onErr bool) (*models.Node, error) {
 
 
-	var serverNode models.Node
 	var err error
 	var err error
-	serverNode, err = GetNode(mac, network)
-	if err != nil {
-		return &serverNode, err
-	}
-
 	if serverNode.IPForwarding == "yes" {
 	if serverNode.IPForwarding == "yes" {
 		if err = setIPForwardingLinux(); err != nil {
 		if err = setIPForwardingLinux(); err != nil {
-			return &serverNode, err
+			return serverNode, err
 		}
 		}
 	}
 	}
 	serverNode.OS = runtime.GOOS
 	serverNode.OS = runtime.GOOS
@@ -199,38 +193,31 @@ func ServerPull(mac string, network string, onErr bool) (*models.Node, error) {
 			Log("removed old interface "+oldIfaceName, 1)
 			Log("removed old interface "+oldIfaceName, 1)
 		}
 		}
 		serverNode.PullChanges = "no"
 		serverNode.PullChanges = "no"
-		if err = setWGConfig(serverNode, network, false); err != nil {
-			return &serverNode, err
+		if err = setWGConfig(*serverNode, serverNode.Network, false); err != nil {
+			return serverNode, err
 		}
 		}
 		// handle server side update
 		// handle server side update
-		if err = UpdateNode(&serverNode, &serverNode); err != nil {
-			return &serverNode, err
+		if err = UpdateNode(serverNode, serverNode); err != nil {
+			return serverNode, err
 		}
 		}
 	} else {
 	} else {
-		if err = setWGConfig(serverNode, network, true); err != nil {
+		if err = setWGConfig(*serverNode, serverNode.Network, true); err != nil {
 			if errors.Is(err, os.ErrNotExist) {
 			if errors.Is(err, os.ErrNotExist) {
-				return ServerPull(serverNode.MacAddress, serverNode.Network, true)
+				return ServerPull(serverNode, true)
 			} else {
 			} else {
-				return &serverNode, err
+				return serverNode, err
 			}
 			}
 		}
 		}
 	}
 	}
 
 
-	return &serverNode, nil
+	return serverNode, nil
 }
 }
 
 
 // ServerPush - pushes config changes for server checkins/join
 // ServerPush - pushes config changes for server checkins/join
-func ServerPush(mac string, network string) error {
-
-	var serverNode models.Node
-	var err error
-	serverNode, err = GetNode(mac, network)
-	if err != nil /* && !ncutils.IsEmptyRecord(err) May not be necessary */ {
-		return err
-	}
+func ServerPush(serverNode *models.Node) error {
 	serverNode.OS = runtime.GOOS
 	serverNode.OS = runtime.GOOS
 	serverNode.SetLastCheckIn()
 	serverNode.SetLastCheckIn()
-	return UpdateNode(&serverNode, &serverNode)
+	return UpdateNode(serverNode, serverNode)
 }
 }
 
 
 // ServerLeave - removes a server node
 // ServerLeave - removes a server node

+ 1 - 0
netclient/ncutils/netclientutils.go

@@ -271,6 +271,7 @@ func GetFreePort(rangestart int32) (int32, error) {
 	if err != nil {
 	if err != nil {
 		return 0, err
 		return 0, err
 	}
 	}
+
 	for x := rangestart; x <= 65535; x++ {
 	for x := rangestart; x <= 65535; x++ {
 		conflict := false
 		conflict := false
 		for _, i := range devices {
 		for _, i := range devices {