Browse Source

added logic for future use

0xdcarns 3 years ago
parent
commit
e521c5936a
2 changed files with 38 additions and 0 deletions
  1. 6 0
      controllers/networkHttpController.go
  2. 32 0
      logic/networks.go

+ 6 - 0
controllers/networkHttpController.go

@@ -275,12 +275,18 @@ func updateNetwork(w http.ResponseWriter, r *http.Request) {
 		returnErrorResponse(w, r, formatError(err, "badrequest"))
 		returnErrorResponse(w, r, formatError(err, "badrequest"))
 		return
 		return
 	}
 	}
+
 	rangeupdate, localrangeupdate, err := logic.UpdateNetwork(&network, &newNetwork)
 	rangeupdate, localrangeupdate, err := logic.UpdateNetwork(&network, &newNetwork)
 	if err != nil {
 	if err != nil {
 		returnErrorResponse(w, r, formatError(err, "badrequest"))
 		returnErrorResponse(w, r, formatError(err, "badrequest"))
 		return
 		return
 	}
 	}
 
 
+	// if newNetwork.IsDualStack != currentNetwork.IsDualStack && newNetwork.IsDualStack == "no" {
+	// 	// Remove IPv6 address from network nodes
+	// 	RemoveNetworkNodeIPv6Addresses(currentNetwork.NetID)
+	// }
+
 	if rangeupdate {
 	if rangeupdate {
 		err = logic.UpdateNetworkNodeAddresses(network.NetID)
 		err = logic.UpdateNetworkNodeAddresses(network.NetID)
 		if err != nil {
 		if err != nil {

+ 32 - 0
logic/networks.go

@@ -260,6 +260,38 @@ func UpdateNetworkLocalAddresses(networkName string) error {
 	return nil
 	return nil
 }
 }
 
 
+// RemoveNetworkNodeIPv6Addresses - removes network node IPv6 addresses
+func RemoveNetworkNodeIPv6Addresses(networkName string) error {
+
+	collections, err := database.FetchRecords(database.NODES_TABLE_NAME)
+	if err != nil {
+		return err
+	}
+
+	for _, value := range collections {
+
+		var node models.Node
+		err := json.Unmarshal([]byte(value), &node)
+		if err != nil {
+			fmt.Println("error in node address assignment!")
+			return err
+		}
+		if node.Network == networkName {
+			node.IsDualStack = "no"
+			node.Address6 = ""
+			node.PullChanges = "yes"
+			data, err := json.Marshal(&node)
+			if err != nil {
+				return err
+			}
+			node.SetID()
+			database.Insert(node.ID, string(data), database.NODES_TABLE_NAME)
+		}
+	}
+
+	return nil
+}
+
 // UpdateNetworkNodeAddresses - updates network node addresses
 // UpdateNetworkNodeAddresses - updates network node addresses
 func UpdateNetworkNodeAddresses(networkName string) error {
 func UpdateNetworkNodeAddresses(networkName string) error {