util.go 1.1 KB

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