Browse Source

move api handlers to relay file

Abhishek Kondur 2 years ago
parent
commit
beb0b1adf2
2 changed files with 96 additions and 97 deletions
  1. 0 97
      controllers/hosts.go
  2. 96 0
      controllers/relay.go

+ 0 - 97
controllers/hosts.go

@@ -2,7 +2,6 @@ package controller
 
 import (
 	"encoding/json"
-	"fmt"
 	"net/http"
 
 	"github.com/gorilla/mux"
@@ -191,99 +190,3 @@ func updateHostNetworks(w http.ResponseWriter, r *http.Request) {
 	w.WriteHeader(http.StatusOK)
 	json.NewEncoder(w).Encode(payload)
 }
-
-// swagger:route POST /api/hosts/{hostid}/relay hosts createHostRelay
-//
-// Create a relay.
-//
-//			Schemes: https
-//
-//			Security:
-//	  		oauth
-//
-//			Responses:
-//				200: nodeResponse
-func createHostRelay(w http.ResponseWriter, r *http.Request) {
-	var relay models.HostRelayRequest
-	var params = mux.Vars(r)
-	w.Header().Set("Content-Type", "application/json")
-	err := json.NewDecoder(r.Body).Decode(&relay)
-	if err != nil {
-		logger.Log(0, r.Header.Get("user"), "error decoding request body: ", err.Error())
-		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
-		return
-	}
-	relay.HostID = params["hostid"]
-	relayHost, _, err := logic.CreateHostRelay(relay)
-	if err != nil {
-		logger.Log(0, r.Header.Get("user"),
-			fmt.Sprintf("failed to create relay on host [%s]: %v", relay.HostID, err))
-		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
-		return
-	}
-
-	logger.Log(1, r.Header.Get("user"), "created relay on host", relay.HostID)
-	// for _, relayedHost := range relayedHosts {
-
-	// 	err = mq.PublishSingleHostUpdate(&relayedHost)
-	// 	if err != nil {
-	// 		logger.Log(1, "error sending update to relayed host ", relayedHost.ID.String(), ": ", err.Error())
-	// 	}
-	// }
-	// // publish host update for relayhost
-	// err = mq.PublishSingleHostUpdate(relayHost)
-	// if err != nil {
-	// 	logger.Log(1, "error sending update to relay host ", relayHost.ID.String(), ": ", err.Error())
-	// }
-	go func() {
-		if err := mq.PublishPeerUpdate(); err != nil {
-			logger.Log(0, "fail to publish peer update: ", err.Error())
-		}
-	}()
-
-	apiHostData := relayHost.ConvertNMHostToAPI()
-	w.WriteHeader(http.StatusOK)
-	json.NewEncoder(w).Encode(apiHostData)
-}
-
-// swagger:route DELETE /api/hosts/{hostid}/relay hosts deleteHostRelay
-//
-// Remove a relay.
-//
-//			Schemes: https
-//
-//			Security:
-//	  		oauth
-//
-//			Responses:
-//				200: nodeResponse
-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)
-	if err != nil {
-		logger.Log(0, r.Header.Get("user"), "error decoding request body: ", err.Error())
-		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
-		return
-	}
-	logger.Log(1, r.Header.Get("user"), "deleted relay host", hostid)
-	// for _, relayedHost := range relayedHosts {
-	// 	err = mq.PublishSingleHostUpdate(&relayedHost)
-	// 	if err != nil {
-	// 		logger.Log(1, "error sending update to relayed host ", relayedHost.ID.String(), ": ", err.Error())
-	// 	}
-	// }
-	// err = mq.PublishSingleHostUpdate(relayHost)
-	// if err != nil {
-	// 	logger.Log(1, "error sending update to relayed host ", relayHost.ID.String(), ": ", err.Error())
-	// }
-	go func() {
-		if err := mq.PublishPeerUpdate(); err != nil {
-			logger.Log(0, "fail to publish peer update: ", err.Error())
-		}
-	}()
-	apiHostData := relayHost.ConvertNMHostToAPI()
-	w.WriteHeader(http.StatusOK)
-	json.NewEncoder(w).Encode(apiHostData)
-}

+ 96 - 0
controllers/relay.go

@@ -92,3 +92,99 @@ func deleteRelay(w http.ResponseWriter, r *http.Request) {
 	json.NewEncoder(w).Encode(apiNode)
 	runUpdates(&node, true)
 }
+
+// swagger:route POST /api/hosts/{hostid}/relay hosts createHostRelay
+//
+// Create a relay.
+//
+//			Schemes: https
+//
+//			Security:
+//	  		oauth
+//
+//			Responses:
+//				200: nodeResponse
+func createHostRelay(w http.ResponseWriter, r *http.Request) {
+	var relay models.HostRelayRequest
+	var params = mux.Vars(r)
+	w.Header().Set("Content-Type", "application/json")
+	err := json.NewDecoder(r.Body).Decode(&relay)
+	if err != nil {
+		logger.Log(0, r.Header.Get("user"), "error decoding request body: ", err.Error())
+		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
+		return
+	}
+	relay.HostID = params["hostid"]
+	relayHost, _, err := logic.CreateHostRelay(relay)
+	if err != nil {
+		logger.Log(0, r.Header.Get("user"),
+			fmt.Sprintf("failed to create relay on host [%s]: %v", relay.HostID, err))
+		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
+		return
+	}
+
+	logger.Log(1, r.Header.Get("user"), "created relay on host", relay.HostID)
+	// for _, relayedHost := range relayedHosts {
+
+	// 	err = mq.PublishSingleHostUpdate(&relayedHost)
+	// 	if err != nil {
+	// 		logger.Log(1, "error sending update to relayed host ", relayedHost.ID.String(), ": ", err.Error())
+	// 	}
+	// }
+	// // publish host update for relayhost
+	// err = mq.PublishSingleHostUpdate(relayHost)
+	// if err != nil {
+	// 	logger.Log(1, "error sending update to relay host ", relayHost.ID.String(), ": ", err.Error())
+	// }
+	go func() {
+		if err := mq.PublishPeerUpdate(); err != nil {
+			logger.Log(0, "fail to publish peer update: ", err.Error())
+		}
+	}()
+
+	apiHostData := relayHost.ConvertNMHostToAPI()
+	w.WriteHeader(http.StatusOK)
+	json.NewEncoder(w).Encode(apiHostData)
+}
+
+// swagger:route DELETE /api/hosts/{hostid}/relay hosts deleteHostRelay
+//
+// Remove a relay.
+//
+//			Schemes: https
+//
+//			Security:
+//	  		oauth
+//
+//			Responses:
+//				200: nodeResponse
+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)
+	if err != nil {
+		logger.Log(0, r.Header.Get("user"), "error decoding request body: ", err.Error())
+		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
+		return
+	}
+	logger.Log(1, r.Header.Get("user"), "deleted relay host", hostid)
+	// for _, relayedHost := range relayedHosts {
+	// 	err = mq.PublishSingleHostUpdate(&relayedHost)
+	// 	if err != nil {
+	// 		logger.Log(1, "error sending update to relayed host ", relayedHost.ID.String(), ": ", err.Error())
+	// 	}
+	// }
+	// err = mq.PublishSingleHostUpdate(relayHost)
+	// if err != nil {
+	// 	logger.Log(1, "error sending update to relayed host ", relayHost.ID.String(), ": ", err.Error())
+	// }
+	go func() {
+		if err := mq.PublishPeerUpdate(); err != nil {
+			logger.Log(0, "fail to publish peer update: ", err.Error())
+		}
+	}()
+	apiHostData := relayHost.ConvertNMHostToAPI()
+	w.WriteHeader(http.StatusOK)
+	json.NewEncoder(w).Encode(apiHostData)
+}