2022-09-14 03:25:56 +08:00
|
|
|
package ee
|
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/base64"
|
|
|
|
|
|
|
|
"github.com/gravitl/netmaker/logic"
|
|
|
|
)
|
|
|
|
|
|
|
|
var isEnterprise bool
|
|
|
|
|
2022-09-15 22:23:19 +08:00
|
|
|
// setIsEnterprise - sets server to use enterprise features
|
|
|
|
func setIsEnterprise() {
|
|
|
|
isEnterprise = true
|
2022-09-30 06:40:10 +08:00
|
|
|
logic.SetEEForTelemetry(isEnterprise)
|
2022-09-15 22:23:19 +08:00
|
|
|
}
|
|
|
|
|
2022-09-14 03:25:56 +08:00
|
|
|
// base64encode - base64 encode helper function
|
|
|
|
func base64encode(input []byte) string {
|
|
|
|
return base64.StdEncoding.EncodeToString(input)
|
|
|
|
}
|
|
|
|
|
|
|
|
// base64decode - base64 decode helper function
|
|
|
|
func base64decode(input string) []byte {
|
|
|
|
|
|
|
|
bytes, err := base64.StdEncoding.DecodeString(input)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
return bytes
|
|
|
|
}
|
2023-08-09 01:47:49 +08:00
|
|
|
|
|
|
|
func getCurrentServerUsage() (limits Usage) {
|
2022-09-14 03:25:56 +08:00
|
|
|
limits.SetDefaults()
|
2023-08-09 01:47:49 +08:00
|
|
|
hosts, hErr := logic.GetAllHosts()
|
|
|
|
if hErr == nil {
|
2023-06-28 23:03:06 +08:00
|
|
|
limits.Hosts = len(hosts)
|
2022-09-14 03:25:56 +08:00
|
|
|
}
|
2023-08-09 01:47:49 +08:00
|
|
|
clients, cErr := logic.GetAllExtClients()
|
|
|
|
if cErr == nil {
|
2022-09-14 03:25:56 +08:00
|
|
|
limits.Clients = len(clients)
|
|
|
|
}
|
|
|
|
users, err := logic.GetUsers()
|
|
|
|
if err == nil {
|
|
|
|
limits.Users = len(users)
|
|
|
|
}
|
2023-06-28 23:03:06 +08:00
|
|
|
networks, err := logic.GetNetworks()
|
|
|
|
if err == nil {
|
|
|
|
limits.Networks = len(networks)
|
|
|
|
}
|
2023-08-09 01:47:49 +08:00
|
|
|
ingresses, err := logic.GetAllIngresses()
|
|
|
|
if err == nil {
|
|
|
|
limits.Ingresses = len(ingresses)
|
|
|
|
}
|
|
|
|
egresses, err := logic.GetAllEgresses()
|
|
|
|
if err == nil {
|
|
|
|
limits.Egresses = len(egresses)
|
|
|
|
}
|
2022-09-14 03:25:56 +08:00
|
|
|
return
|
|
|
|
}
|