2
0
Эх сурвалжийг харах

Revert "Unify usage funcs in logic pkg"

This reverts commit 28afc91f7ead68b7ac5c10551844a59b56150197.
gabrielseibel1 2 жил өмнө
parent
commit
0453a5b4bc
5 өөрчлөгдсөн 102 нэмэгдсэн , 69 устгасан
  1. 34 1
      controllers/server.go
  2. 0 38
      logic/server.go
  3. 0 27
      models/usage.go
  4. 28 3
      pro/types.go
  5. 40 0
      pro/util.go

+ 34 - 1
controllers/server.go

@@ -26,12 +26,45 @@ func serverHandlers(r *mux.Router) {
 }
 
 func getUsage(w http.ResponseWriter, r *http.Request) {
-	serverUsage := logic.GetCurrentServerUsage()
+	type usage struct {
+		Hosts     int `json:"hosts"`
+		Clients   int `json:"clients"`
+		Networks  int `json:"networks"`
+		Users     int `json:"users"`
+		Ingresses int `json:"ingresses"`
+		Egresses  int `json:"egresses"`
+	}
+	var serverUsage usage
+	hosts, err := logic.GetAllHosts()
+	if err == nil {
+		serverUsage.Hosts = len(hosts)
+	}
+	clients, err := logic.GetAllExtClients()
+	if err == nil {
+		serverUsage.Clients = len(clients)
+	}
+	users, err := logic.GetUsers()
+	if err == nil {
+		serverUsage.Users = len(users)
+	}
+	networks, err := logic.GetNetworks()
+	if err == nil {
+		serverUsage.Networks = len(networks)
+	}
+	ingresses, err := logic.GetAllIngresses()
+	if err == nil {
+		serverUsage.Ingresses = len(ingresses)
+	}
+	egresses, err := logic.GetAllEgresses()
+	if err == nil {
+		serverUsage.Egresses = len(egresses)
+	}
 	w.Header().Set("Content-Type", "application/json")
 	json.NewEncoder(w).Encode(models.SuccessResponse{
 		Code:     http.StatusOK,
 		Response: serverUsage,
 	})
+
 }
 
 // swagger:route GET /api/server/status server getStatus

+ 0 - 38
logic/server.go

@@ -31,41 +31,3 @@ func EnterpriseCheck() {
 		check()
 	}
 }
-
-func GetCurrentServerUsage() (usage models.Usage) {
-	usage.SetDefaults()
-	hosts, hErr := GetAllHosts()
-	if hErr == nil {
-		usage.Hosts = len(hosts)
-	}
-	clients, cErr := GetAllExtClients()
-	if cErr == nil {
-		usage.Clients = len(clients)
-	}
-	users, err := GetUsers()
-	if err == nil {
-		usage.Users = len(users)
-	}
-	networks, err := GetNetworks()
-	if err == nil {
-		usage.Networks = len(networks)
-	}
-	// TODO this part bellow can be optimized to get nodes just once
-	ingresses, err := GetAllIngresses()
-	if err == nil {
-		usage.Ingresses = len(ingresses)
-	}
-	egresses, err := GetAllEgresses()
-	if err == nil {
-		usage.Egresses = len(egresses)
-	}
-	relays, err := GetRelays()
-	if err == nil {
-		usage.Relays = len(relays)
-	}
-	gateways, err := GetInternetGateways()
-	if err == nil {
-		usage.InternetGateways = len(gateways)
-	}
-	return
-}

+ 0 - 27
models/usage.go

@@ -1,27 +0,0 @@
-package models
-
-// Usage - struct for license usage
-type Usage struct {
-	Servers          int `json:"servers"`
-	Users            int `json:"users"`
-	Hosts            int `json:"hosts"`
-	Clients          int `json:"clients"`
-	Networks         int `json:"networks"`
-	Ingresses        int `json:"ingresses"`
-	Egresses         int `json:"egresses"`
-	Relays           int `json:"relays"`
-	InternetGateways int `json:"internet_gateways"`
-}
-
-// Usage.SetDefaults - sets the default values for usage
-func (l *Usage) SetDefaults() {
-	l.Clients = 0
-	l.Servers = 1
-	l.Hosts = 0
-	l.Users = 1
-	l.Networks = 0
-	l.Ingresses = 0
-	l.Egresses = 0
-	l.Relays = 0
-	l.InternetGateways = 0
-}

+ 28 - 3
pro/types.go

@@ -5,7 +5,6 @@ package pro
 
 import (
 	"fmt"
-	"github.com/gravitl/netmaker/models"
 )
 
 // constants for accounts api hosts
@@ -49,8 +48,34 @@ type ValidatedLicense struct {
 
 // LicenseSecret - the encrypted struct for sending user-id
 type LicenseSecret struct {
-	AssociatedID string       `json:"associated_id" binding:"required"` // UUID for user foreign key to User table
-	Usage        models.Usage `json:"limits" binding:"required"`
+	AssociatedID string `json:"associated_id" binding:"required"` // UUID for user foreign key to User table
+	Usage        Usage  `json:"limits" binding:"required"`
+}
+
+// Usage - struct for license usage
+type Usage struct {
+	Servers          int `json:"servers"`
+	Users            int `json:"users"`
+	Hosts            int `json:"hosts"`
+	Clients          int `json:"clients"`
+	Networks         int `json:"networks"`
+	Ingresses        int `json:"ingresses"`
+	Egresses         int `json:"egresses"`
+	Relays           int `json:"relays"`
+	InternetGateways int `json:"internet_gateways"`
+}
+
+// Usage.SetDefaults - sets the default values for usage
+func (l *Usage) SetDefaults() {
+	l.Clients = 0
+	l.Servers = 1
+	l.Hosts = 0
+	l.Users = 1
+	l.Networks = 0
+	l.Ingresses = 0
+	l.Egresses = 0
+	l.Relays = 0
+	l.InternetGateways = 0
 }
 
 // ValidateLicenseRequest - used for request to validate license endpoint

+ 40 - 0
pro/util.go

@@ -5,6 +5,8 @@ package pro
 
 import (
 	"encoding/base64"
+
+	"github.com/gravitl/netmaker/logic"
 )
 
 // base64encode - base64 encode helper function
@@ -23,3 +25,41 @@ func base64decode(input string) []byte {
 
 	return bytes
 }
+
+func getCurrentServerUsage() (limits Usage) {
+	limits.SetDefaults()
+	hosts, hErr := logic.GetAllHosts()
+	if hErr == nil {
+		limits.Hosts = len(hosts)
+	}
+	clients, cErr := logic.GetAllExtClients()
+	if cErr == nil {
+		limits.Clients = len(clients)
+	}
+	users, err := logic.GetUsers()
+	if err == nil {
+		limits.Users = len(users)
+	}
+	networks, err := logic.GetNetworks()
+	if err == nil {
+		limits.Networks = len(networks)
+	}
+	// TODO this part bellow can be optimized to get nodes just once
+	ingresses, err := logic.GetAllIngresses()
+	if err == nil {
+		limits.Ingresses = len(ingresses)
+	}
+	egresses, err := logic.GetAllEgresses()
+	if err == nil {
+		limits.Egresses = len(egresses)
+	}
+	relays, err := logic.GetRelays()
+	if err == nil {
+		limits.Relays = len(relays)
+	}
+	gateways, err := logic.GetInternetGateways()
+	if err == nil {
+		limits.InternetGateways = len(gateways)
+	}
+	return
+}