소스 검색

handle host deletion in mq host updates

Abhishek Kondur 2 년 전
부모
커밋
77deff063b
1개의 변경된 파일9개의 추가작업 그리고 2개의 파일을 삭제
  1. 9 2
      mq/handlers.go

+ 9 - 2
mq/handlers.go

@@ -152,8 +152,15 @@ func UpdateHost(client mqtt.Client, msg mqtt.Message) {
 				return
 			}
 		case models.DeleteHost:
-			// TODO: logic to delete host on the server
-
+			if err := logic.DisassociateAllNodesFromHost(currentHost.ID.String()); err != nil {
+				logger.Log(0, "failed to delete all nodes of host: ", currentHost.ID.String(), err.Error())
+				return
+			}
+			if err := logic.RemoveHostByID(currentHost.ID.String()); err != nil {
+				logger.Log(0, "failed to delete host: ", currentHost.ID.String(), err.Error())
+				return
+			}
+			sendPeerUpdate = true
 		}
 		if sendPeerUpdate {
 			err := PublishPeerUpdate()