From 314af6b51debff223b2bacb231f798b4fa0586a1 Mon Sep 17 00:00:00 2001 From: Anish Mukherjee Date: Mon, 27 Feb 2023 17:18:35 +0530 Subject: [PATCH] create emqx credentials for host upon creation --- controllers/node.go | 8 +++++++- mq/handlers.go | 9 --------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/controllers/node.go b/controllers/node.go index 6e91b48e..321d2135 100644 --- a/controllers/node.go +++ b/controllers/node.go @@ -564,6 +564,13 @@ func createNode(w http.ResponseWriter, r *http.Request) { data.Node.Server = servercfg.GetServer() if !logic.HostExists(&data.Host) { logic.CheckHostPorts(&data.Host) + if servercfg.GetBrokerType() == servercfg.EmqxBrokerType { + // create EMQX credentials for host if it doesn't exists + if err := mq.CreateEmqxUser(data.Host.ID.String(), data.Host.HostPass, false); err != nil { + logger.Log(0, "failed to add host credentials to EMQX: ", data.Host.ID.String(), err.Error()) + return + } + } } if err := logic.CreateHost(&data.Host); err != nil { if errors.Is(err, logic.ErrHostExists) { @@ -589,7 +596,6 @@ func createNode(w http.ResponseWriter, r *http.Request) { return } } - err = logic.AssociateNodeToHost(&data.Node, &data.Host) if err != nil { logger.Log(0, r.Header.Get("user"), diff --git a/mq/handlers.go b/mq/handlers.go index af5d93f2..ed15da19 100644 --- a/mq/handlers.go +++ b/mq/handlers.go @@ -145,15 +145,6 @@ func UpdateHost(client mqtt.Client, msg mqtt.Message) { var sendPeerUpdate bool switch hostUpdate.Action { case models.UpdateHost: - if servercfg.GetBrokerType() == servercfg.EmqxBrokerType { - // create EMQX credentials for host if it doesn't exists - if _, err := logic.GetHost(currentHost.ID.String()); err != nil { - if err := CreateEmqxUser(currentHost.ID.String(), currentHost.HostPass, false); err != nil { - logger.Log(0, "failed to add host credentials to EMQX: ", currentHost.ID.String(), err.Error()) - return - } - } - } sendPeerUpdate = logic.UpdateHostFromClient(&hostUpdate.Host, currentHost) err := logic.UpsertHost(currentHost) if err != nil {