util.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package ee
  2. import (
  3. "encoding/base64"
  4. "github.com/gravitl/netmaker/logic"
  5. )
  6. var isEnterprise bool
  7. // SetIsEnterprise - sets server to use enterprise features
  8. func SetIsEnterprise() {
  9. isEnterprise = true
  10. }
  11. // IsEnterprise - checks if enterprise binary or not
  12. func IsEnterprise() bool {
  13. return isEnterprise
  14. }
  15. // base64encode - base64 encode helper function
  16. func base64encode(input []byte) string {
  17. return base64.StdEncoding.EncodeToString(input)
  18. }
  19. // base64decode - base64 decode helper function
  20. func base64decode(input string) []byte {
  21. bytes, err := base64.StdEncoding.DecodeString(input)
  22. if err != nil {
  23. return nil
  24. }
  25. return bytes
  26. }
  27. func getCurrentServerLimit() (limits LicenseLimits) {
  28. limits.SetDefaults()
  29. nodes, err := logic.GetAllNodes()
  30. if err == nil {
  31. limits.Nodes = len(nodes)
  32. }
  33. clients, err := logic.GetAllExtClients()
  34. if err == nil {
  35. limits.Clients = len(clients)
  36. }
  37. users, err := logic.GetUsers()
  38. if err == nil {
  39. limits.Users = len(users)
  40. }
  41. limits.Servers = logic.GetServerCount()
  42. return
  43. }