From 68ff45bca4cf00f009834bdec04f1819a025dbd5 Mon Sep 17 00:00:00 2001 From: Matthew R Kasun Date: Tue, 9 May 2023 14:55:49 -0400 Subject: [PATCH] send host update when deleting relay --- controllers/relay.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/controllers/relay.go b/controllers/relay.go index f656fab7..f8242359 100644 --- a/controllers/relay.go +++ b/controllers/relay.go @@ -167,7 +167,7 @@ func deleteHostRelay(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") var params = mux.Vars(r) hostid := params["hostid"] - relayHost, _, err := logic.DeleteHostRelay(hostid) + relayHost, relayed, err := logic.DeleteHostRelay(hostid) if err != nil { logger.Log(0, r.Header.Get("user"), "error decoding request body: ", err.Error()) logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest")) @@ -178,6 +178,20 @@ func deleteHostRelay(w http.ResponseWriter, r *http.Request) { if err := mq.PublishPeerUpdate(); err != nil { logger.Log(0, "fail to publish peer update: ", err.Error()) } + if err := mq.HostUpdate(&models.HostUpdate{ + Action: models.UpdateHost, + Host: *relayHost, + }); err != nil { + logger.Log(0, "failed to send host update: ", relayHost.Name, err.Error()) + } + for _, relayedHost := range relayed { + if err := mq.HostUpdate(&models.HostUpdate{ + Action: models.UpdateHost, + Host: relayedHost, + }); err != nil { + logger.Log(0, "failed to send host update: ", relayedHost.Name, err.Error()) + } + } }() apiHostData := relayHost.ConvertNMHostToAPI() w.WriteHeader(http.StatusOK)