| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | //go:build ee// +build eepackage proimport (	"encoding/base64"	"github.com/gravitl/netmaker/logic")// base64encode - base64 encode helper functionfunc base64encode(input []byte) string {	return base64.StdEncoding.EncodeToString(input)}// base64decode - base64 decode helper functionfunc base64decode(input string) []byte {	bytes, err := base64.StdEncoding.DecodeString(input)	if err != nil {		return nil	}	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)	}	failovers, err := logic.GetAllFailOvers()	if err == nil {		limits.FailOvers = len(failovers)	}	return}
 |