Browse Source

update versions

Signed-off-by: Matthew R. Kasun <[email protected]>
Matthew R. Kasun 3 years ago
parent
commit
52a14877ff
2 changed files with 7 additions and 1 deletions
  1. 3 1
      mq/handlers.go
  2. 4 0
      serverctl/serverctl.go

+ 3 - 1
mq/handlers.go

@@ -36,16 +36,18 @@ func Ping(client mqtt.Client, msg mqtt.Message) {
 			logger.Log(0, record)
 			return
 		}
-		_, decryptErr := decryptMsg(&node, msg.Payload())
+		version, decryptErr := decryptMsg(&node, msg.Payload())
 		if decryptErr != nil {
 			logger.Log(0, "error decrypting when updating node ", node.ID, decryptErr.Error())
 			return
 		}
 		node.SetLastCheckIn()
+		node.Version = string(version)
 		if err := logic.UpdateNode(&node, &node); err != nil {
 			logger.Log(0, "error updating node", node.Name, node.ID, " on checkin", err.Error())
 			return
 		}
+
 		logger.Log(3, "ping processed for node", node.ID)
 		// --TODO --set client version once feature is implemented.
 		//node.SetClientVersion(msg.Payload())

+ 4 - 0
serverctl/serverctl.go

@@ -100,6 +100,10 @@ func InitServerNetclient() error {
 		for _, network := range networks {
 			var currentServerNode, nodeErr = logic.GetNetworkServerLocal(network.NetID)
 			if nodeErr == nil {
+				if currentServerNode.Version != servercfg.Version {
+					currentServerNode.Version = servercfg.Version
+					logic.UpdateNode(&currentServerNode, &currentServerNode)
+				}
 				if err = logic.ServerPull(&currentServerNode, true); err != nil {
 					logger.Log(1, "failed pull for network", network.NetID, ", on server node", currentServerNode.ID)
 				}