send host update when deleting relay

This commit is contained in:
Matthew R Kasun 2023-05-09 14:55:49 -04:00
parent ca3e43f95d
commit 68ff45bca4

View file

@ -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)