Browse Source

updated routes to use uuid

0xdcarns 3 years ago
parent
commit
52195cd040
4 changed files with 12 additions and 29 deletions
  1. 5 15
      logic/gateway.go
  2. 1 5
      logic/nodes.go
  3. 5 8
      logic/relay.go
  4. 1 1
      logic/util.go

+ 5 - 15
logic/gateway.go

@@ -95,15 +95,12 @@ func DeleteEgressGateway(network, nodeid string) (models.Node, error) {
 	}
 	node.SetLastModified()
 	node.PullChanges = "yes"
-	key, err := GetRecordKey(node.MacAddress, node.Network)
-	if err != nil {
-		return models.Node{}, err
-	}
+
 	data, err := json.Marshal(&node)
 	if err != nil {
 		return models.Node{}, err
 	}
-	if err = database.Insert(key, string(data), database.NODES_TABLE_NAME); err != nil {
+	if err = database.Insert(node.ID, string(data), database.NODES_TABLE_NAME); err != nil {
 		return models.Node{}, err
 	}
 	if err = NetworkNodesUpdatePullChanges(network); err != nil {
@@ -147,15 +144,12 @@ func CreateIngressGateway(netid string, nodeid string) (models.Node, error) {
 	node.PostDown = postDownCmd
 	node.PullChanges = "yes"
 	node.UDPHolePunch = "no"
-	key, err := GetRecordKey(node.MacAddress, node.Network)
-	if err != nil {
-		return models.Node{}, err
-	}
+
 	data, err := json.Marshal(&node)
 	if err != nil {
 		return models.Node{}, err
 	}
-	err = database.Insert(key, string(data), database.NODES_TABLE_NAME)
+	err = database.Insert(node.ID, string(data), database.NODES_TABLE_NAME)
 	if err != nil {
 		return models.Node{}, err
 	}
@@ -185,15 +179,11 @@ func DeleteIngressGateway(networkName string, macaddress string) (models.Node, e
 	node.IngressGatewayRange = ""
 	node.PullChanges = "yes"
 
-	key, err := GetRecordKey(node.MacAddress, node.Network)
-	if err != nil {
-		return models.Node{}, err
-	}
 	data, err := json.Marshal(&node)
 	if err != nil {
 		return models.Node{}, err
 	}
-	err = database.Insert(key, string(data), database.NODES_TABLE_NAME)
+	err = database.Insert(node.ID, string(data), database.NODES_TABLE_NAME)
 	if err != nil {
 		return models.Node{}, err
 	}

+ 1 - 5
logic/nodes.go

@@ -76,12 +76,8 @@ func UncordonNode(nodeid string) (models.Node, error) {
 	if err != nil {
 		return node, err
 	}
-	key, err := GetRecordKey(node.MacAddress, node.Network)
-	if err != nil {
-		return node, err
-	}
 
-	err = database.Insert(key, string(data), database.NODES_TABLE_NAME)
+	err = database.Insert(node.ID, string(data), database.NODES_TABLE_NAME)
 	return node, err
 }
 

+ 5 - 8
logic/relay.go

@@ -13,12 +13,13 @@ import (
 // CreateRelay - creates a relay
 func CreateRelay(relay models.RelayRequest) (models.Node, error) {
 	node, err := GetNodeByID(relay.NodeID)
-	if node.OS == "macos" { // add in darwin later
-		return models.Node{}, errors.New(node.OS + " is unsupported for relay")
-	}
 	if err != nil {
 		return models.Node{}, err
 	}
+	if node.OS == "macos" { // add in darwin later
+		return models.Node{}, errors.New(node.OS + " is unsupported for relay")
+	}
+
 	err = ValidateRelay(relay)
 	if err != nil {
 		return models.Node{}, err
@@ -26,17 +27,13 @@ func CreateRelay(relay models.RelayRequest) (models.Node, error) {
 	node.IsRelay = "yes"
 	node.RelayAddrs = relay.RelayAddrs
 
-	key, err := GetRecordKey(relay.NodeID, relay.NetID)
-	if err != nil {
-		return node, err
-	}
 	node.SetLastModified()
 	node.PullChanges = "yes"
 	nodeData, err := json.Marshal(&node)
 	if err != nil {
 		return node, err
 	}
-	if err = database.Insert(key, string(nodeData), database.NODES_TABLE_NAME); err != nil {
+	if err = database.Insert(node.ID, string(nodeData), database.NODES_TABLE_NAME); err != nil {
 		return models.Node{}, err
 	}
 	err = SetRelayedNodes("yes", node.Network, node.RelayAddrs)

+ 1 - 1
logic/util.go

@@ -105,7 +105,7 @@ func CreateNode(node *models.Node) error {
 		return err
 	}
 
-	if node.IsServer != "yes" || (node.IsServer == "yes" && servercfg.GetNodeID() == "") {
+	if (node.IsServer != "yes" && (node.ID == "" || strings.Contains(node.ID, "###"))) || (node.IsServer == "yes" && servercfg.GetNodeID() == "") {
 		node.ID = uuid.NewString()
 	}
 	logger.Log(0, "server ID: ", node.ID)