util.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //go:build ee
  2. // +build ee
  3. package pro
  4. import (
  5. "encoding/base64"
  6. "github.com/gravitl/netmaker/logic"
  7. )
  8. // base64encode - base64 encode helper function
  9. func base64encode(input []byte) string {
  10. return base64.StdEncoding.EncodeToString(input)
  11. }
  12. // base64decode - base64 decode helper function
  13. func base64decode(input string) []byte {
  14. bytes, err := base64.StdEncoding.DecodeString(input)
  15. if err != nil {
  16. return nil
  17. }
  18. return bytes
  19. }
  20. func getCurrentServerUsage() (limits Usage) {
  21. limits.SetDefaults()
  22. hosts, hErr := logic.GetAllHosts()
  23. if hErr == nil {
  24. limits.Hosts = len(hosts)
  25. }
  26. clients, cErr := logic.GetAllExtClients()
  27. if cErr == nil {
  28. limits.Clients = len(clients)
  29. }
  30. users, err := logic.GetUsers()
  31. if err == nil {
  32. limits.Users = len(users)
  33. }
  34. networks, err := logic.GetNetworks()
  35. if err == nil {
  36. limits.Networks = len(networks)
  37. }
  38. ingresses, err := logic.GetAllIngresses()
  39. if err == nil {
  40. limits.Ingresses = len(ingresses)
  41. }
  42. egresses, err := logic.GetAllEgresses()
  43. if err == nil {
  44. limits.Egresses = len(egresses)
  45. }
  46. return
  47. }