Browse Source

handled sending peer update on client node update

0xdcarns 3 years ago
parent
commit
352f80ef4d
1 changed files with 18 additions and 12 deletions
  1. 18 12
      mq/handlers.go

+ 18 - 12
mq/handlers.go

@@ -81,6 +81,7 @@ func UpdateNode(client mqtt.Client, msg mqtt.Message) {
 			logger.Log(1, "error saving node", err.Error())
 			logger.Log(1, "error saving node", err.Error())
 			return
 			return
 		}
 		}
+		updateNodePeers(&currentNode)
 		logger.Log(1, "updated node", id, newNode.Name)
 		logger.Log(1, "updated node", id, newNode.Name)
 	}()
 	}()
 }
 }
@@ -114,20 +115,25 @@ func ClientPeerUpdate(client mqtt.Client, msg mqtt.Message) {
 				return
 				return
 			}
 			}
 		case ncutils.DONE:
 		case ncutils.DONE:
-			currentServerNode, err := logic.GetNetworkServerLocal(currentNode.Network)
-			if err != nil {
-				return
-			}
-			if err := logic.ServerUpdate(&currentServerNode, false); err != nil {
-				logger.Log(1, "server node:", currentServerNode.ID, "failed update")
-				return
-			}
-			if err := PublishPeerUpdate(&currentNode); err != nil {
-				logger.Log(1, "error publishing peer update ", err.Error())
-				return
-			}
+			updateNodePeers(&currentNode)
 		}
 		}
 
 
 		logger.Log(1, "sent peer updates after signal received from", id, currentNode.Name)
 		logger.Log(1, "sent peer updates after signal received from", id, currentNode.Name)
 	}()
 	}()
 }
 }
+
+func updateNodePeers(currentNode *models.Node) {
+	currentServerNode, err := logic.GetNetworkServerLocal(currentNode.Network)
+	if err != nil {
+		logger.Log(1, "failed to get server node failed update\n", err.Error())
+		return
+	}
+	if err := logic.ServerUpdate(&currentServerNode, false); err != nil {
+		logger.Log(1, "server node:", currentServerNode.ID, "failed update")
+		return
+	}
+	if err := PublishPeerUpdate(currentNode); err != nil {
+		logger.Log(1, "error publishing peer update ", err.Error())
+		return
+	}
+}