Browse Source

save servAddr to database on join

Matthew R Kasun 3 years ago
parent
commit
c421c1410b
2 changed files with 19 additions and 1 deletions
  1. 7 1
      controllers/node_grpc.go
  2. 12 0
      logic/networks.go

+ 7 - 1
controllers/node_grpc.go

@@ -5,6 +5,7 @@ import (
 	"encoding/json"
 	"encoding/json"
 	"errors"
 	"errors"
 	"strings"
 	"strings"
+	"time"
 
 
 	nodepb "github.com/gravitl/netmaker/grpc"
 	nodepb "github.com/gravitl/netmaker/grpc"
 	"github.com/gravitl/netmaker/logger"
 	"github.com/gravitl/netmaker/logger"
@@ -104,10 +105,15 @@ func (s *NodeServiceServer) CreateNode(ctx context.Context, req *nodepb.Object)
 		Type: nodepb.NODE_TYPE,
 		Type: nodepb.NODE_TYPE,
 	}
 	}
 
 
-	err = logic.SetNetworkNodesLastModified(node.Network)
+	network, err := logic.GetParentNetwork(node.Network)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
+	network.NodesLastModified = time.Now().Unix()
+	network.DefaultServerAddrs = serverAddrs
+	if err := logic.SaveNetwork(&network); err != nil {
+		return nil, err
+	}
 	err = runServerPeerUpdate(node.Network, true)
 	err = runServerPeerUpdate(node.Network, true)
 	if err != nil {
 	if err != nil {
 		logger.Log(1, "internal error when setting peers after node,", node.ID, "was created (gRPC)")
 		logger.Log(1, "internal error when setting peers after node,", node.ID, "was created (gRPC)")

+ 12 - 0
logic/networks.go

@@ -598,6 +598,18 @@ func KeyUpdate(netname string) (models.Network, error) {
 	return models.Network{}, nil
 	return models.Network{}, nil
 }
 }
 
 
+//SaveNetwork - save network struct to database
+func SaveNetwork(network *models.Network) error {
+	data, err := json.Marshal(network)
+	if err != nil {
+		return err
+	}
+	if err := database.Insert(network.NetID, string(data), database.NETWORKS_TABLE_NAME); err != nil {
+		return err
+	}
+	return nil
+}
+
 // == Private ==
 // == Private ==
 
 
 func networkNodesUpdateAction(networkName string, action string) error {
 func networkNodesUpdateAction(networkName string, action string) error {