Browse Source

create host on join if host does not exist

Matthew R. Kasun 2 years ago
parent
commit
a219f8f22c
1 changed files with 7 additions and 1 deletions
  1. 7 1
      controllers/node.go

+ 7 - 1
controllers/node.go

@@ -607,7 +607,13 @@ func createNode(w http.ResponseWriter, r *http.Request) {
 	// consume password before hashing for mq client creation
 	// consume password before hashing for mq client creation
 	nodePassword := data.Host.HostPass
 	nodePassword := data.Host.HostPass
 	data.Node.Server = servercfg.GetServer()
 	data.Node.Server = servercfg.GetServer()
-
+	if _, err := logic.GetHost(data.Node.HostID.String()); err != nil {
+		if err := logic.CreateHost(&data.Host); err != nil {
+			logger.Log(0, "error creating host", err.Error())
+			logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
+			return
+		}
+	}
 	err = logic.CreateNode(&data.Node)
 	err = logic.CreateNode(&data.Node)
 	if err != nil {
 	if err != nil {
 		logger.Log(0, r.Header.Get("user"),
 		logger.Log(0, r.Header.Get("user"),