helpers.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package functions
  2. import (
  3. "encoding/json"
  4. "strings"
  5. "github.com/gravitl/netmaker/database"
  6. "github.com/gravitl/netmaker/models"
  7. )
  8. // NameInDNSCharSet - name in dns char set
  9. func NameInDNSCharSet(name string) bool {
  10. charset := "abcdefghijklmnopqrstuvwxyz1234567890-."
  11. for _, char := range name {
  12. if !strings.Contains(charset, strings.ToLower(string(char))) {
  13. return false
  14. }
  15. }
  16. return true
  17. }
  18. // NameInNodeCharSet - name in node char set
  19. func NameInNodeCharSet(name string) bool {
  20. charset := "abcdefghijklmnopqrstuvwxyz1234567890-"
  21. for _, char := range name {
  22. if !strings.Contains(charset, strings.ToLower(string(char))) {
  23. return false
  24. }
  25. }
  26. return true
  27. }
  28. // RemoveDeletedNode - remove deleted node
  29. func RemoveDeletedNode(nodeid string) bool {
  30. return database.DeleteRecord(database.DELETED_NODES_TABLE_NAME, nodeid) == nil
  31. }
  32. // GetAllExtClients - get all ext clients
  33. func GetAllExtClients() ([]models.ExtClient, error) {
  34. var extclients []models.ExtClient
  35. collection, err := database.FetchRecords(database.EXT_CLIENT_TABLE_NAME)
  36. if err != nil {
  37. return extclients, err
  38. }
  39. for _, value := range collection {
  40. var extclient models.ExtClient
  41. err := json.Unmarshal([]byte(value), &extclient)
  42. if err != nil {
  43. return []models.ExtClient{}, err
  44. }
  45. // add node to our array
  46. extclients = append(extclients, extclient)
  47. }
  48. return extclients, nil
  49. }