Parcourir la source

return {} if no records found for acls/metrics

Matthew R Kasun il y a 2 ans
Parent
commit
3e0d7720c8
2 fichiers modifiés avec 13 ajouts et 0 suppressions
  1. 6 0
      controllers/network.go
  2. 7 0
      ee/ee_controllers/metrics.go

+ 6 - 0
controllers/network.go

@@ -170,6 +170,12 @@ func getNetworkACL(w http.ResponseWriter, r *http.Request) {
 	var networkACL acls.ACLContainer
 	var networkACL acls.ACLContainer
 	networkACL, err := networkACL.Get(acls.ContainerID(netname))
 	networkACL, err := networkACL.Get(acls.ContainerID(netname))
 	if err != nil {
 	if err != nil {
+		if database.IsEmptyRecord(err) {
+			networkACL = acls.ACLContainer{}
+			w.WriteHeader(http.StatusOK)
+			json.NewEncoder(w).Encode(networkACL)
+			return
+		}
 		logger.Log(0, r.Header.Get("user"),
 		logger.Log(0, r.Header.Get("user"),
 			fmt.Sprintf("failed to fetch ACLs for network [%s]: %v", netname, err))
 			fmt.Sprintf("failed to fetch ACLs for network [%s]: %v", netname, err))
 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))

+ 7 - 0
ee/ee_controllers/metrics.go

@@ -5,6 +5,7 @@ import (
 	"net/http"
 	"net/http"
 
 
 	"github.com/gorilla/mux"
 	"github.com/gorilla/mux"
+	"github.com/gravitl/netmaker/database"
 	"github.com/gravitl/netmaker/logger"
 	"github.com/gravitl/netmaker/logger"
 	"github.com/gravitl/netmaker/logic"
 	"github.com/gravitl/netmaker/logic"
 	"github.com/gravitl/netmaker/models"
 	"github.com/gravitl/netmaker/models"
@@ -91,6 +92,12 @@ func getNetworkExtMetrics(w http.ResponseWriter, r *http.Request) {
 
 
 	clients, err := logic.GetNetworkExtClients(network) // grab all the network ext clients
 	clients, err := logic.GetNetworkExtClients(network) // grab all the network ext clients
 	if err != nil {
 	if err != nil {
+		if database.IsEmptyRecord(err) {
+			var metrics struct{}
+			w.WriteHeader(http.StatusOK)
+			json.NewEncoder(w).Encode(metrics)
+			return
+		}
 		logger.Log(1, r.Header.Get("user"), "failed to fetch metrics of ext clients in network", network, err.Error())
 		logger.Log(1, r.Header.Get("user"), "failed to fetch metrics of ext clients in network", network, err.Error())
 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
 		return
 		return