|
@@ -159,6 +159,22 @@ func UpdateHost(client mqtt.Client, msg mqtt.Message) {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // notify of deleted peer change
|
|
|
|
+ go func(host models.Host) {
|
|
|
|
+ for _, nodeID := range host.Nodes {
|
|
|
|
+ node, err := logic.GetNodeByID(nodeID)
|
|
|
|
+ if err == nil {
|
|
|
|
+ var gwClients []models.ExtClient
|
|
|
|
+ if node.IsIngressGateway {
|
|
|
|
+ gwClients = logic.GetGwExtclients(node.ID.String(), node.Network)
|
|
|
|
+ }
|
|
|
|
+ go PublishMqUpdatesForDeletedNode(node, false, gwClients)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }(*currentHost)
|
|
|
|
+
|
|
if err := logic.DisassociateAllNodesFromHost(currentHost.ID.String()); err != nil {
|
|
if err := logic.DisassociateAllNodesFromHost(currentHost.ID.String()); err != nil {
|
|
slog.Error("failed to delete all nodes of host", "id", currentHost.ID, "error", err)
|
|
slog.Error("failed to delete all nodes of host", "id", currentHost.ID, "error", err)
|
|
return
|
|
return
|