util.go 932 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. logic.SetEEForTelemetry(isEnterprise)
  11. }
  12. // base64encode - base64 encode helper function
  13. func base64encode(input []byte) string {
  14. return base64.StdEncoding.EncodeToString(input)
  15. }
  16. // base64decode - base64 decode helper function
  17. func base64decode(input string) []byte {
  18. bytes, err := base64.StdEncoding.DecodeString(input)
  19. if err != nil {
  20. return nil
  21. }
  22. return bytes
  23. }
  24. func getCurrentServerLimit() (limits LicenseLimits) {
  25. limits.SetDefaults()
  26. nodes, err := logic.GetAllNodes()
  27. if err == nil {
  28. limits.Nodes = len(nodes)
  29. }
  30. clients, err := logic.GetAllExtClients()
  31. if err == nil {
  32. limits.Clients = len(clients)
  33. }
  34. users, err := logic.GetUsers()
  35. if err == nil {
  36. limits.Users = len(users)
  37. }
  38. return
  39. }