1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package functions
- import (
- "encoding/json"
- "strings"
- "github.com/gravitl/netmaker/database"
- "github.com/gravitl/netmaker/models"
- )
- // NetworkExists - check if network exists
- func NetworkExists(name string) (bool, error) {
- var network string
- var err error
- if network, err = database.FetchRecord(database.NETWORKS_TABLE_NAME, name); err != nil {
- return false, err
- }
- return len(network) > 0, nil
- }
- // NameInDNSCharSet - name in dns char set
- func NameInDNSCharSet(name string) bool {
- charset := "abcdefghijklmnopqrstuvwxyz1234567890-."
- for _, char := range name {
- if !strings.Contains(charset, strings.ToLower(string(char))) {
- return false
- }
- }
- return true
- }
- // NameInNodeCharSet - name in node char set
- func NameInNodeCharSet(name string) bool {
- charset := "abcdefghijklmnopqrstuvwxyz1234567890-"
- for _, char := range name {
- if !strings.Contains(charset, strings.ToLower(string(char))) {
- return false
- }
- }
- return true
- }
- // RemoveDeletedNode - remove deleted node
- func RemoveDeletedNode(nodeid string) bool {
- return database.DeleteRecord(database.DELETED_NODES_TABLE_NAME, nodeid) == nil
- }
- // GetAllExtClients - get all ext clients
- func GetAllExtClients() ([]models.ExtClient, error) {
- var extclients []models.ExtClient
- collection, err := database.FetchRecords(database.EXT_CLIENT_TABLE_NAME)
- if err != nil {
- return extclients, err
- }
- for _, value := range collection {
- var extclient models.ExtClient
- err := json.Unmarshal([]byte(value), &extclient)
- if err != nil {
- return []models.ExtClient{}, err
- }
- // add node to our array
- extclients = append(extclients, extclient)
- }
- return extclients, nil
- }
- // DeleteKey - deletes a key
- func DeleteKey(network models.Network, i int) {
- network.AccessKeys = append(network.AccessKeys[:i],
- network.AccessKeys[i+1:]...)
- if networkData, err := json.Marshal(&network); err != nil {
- return
- } else {
- database.Insert(network.NetID, string(networkData), database.NETWORKS_TABLE_NAME)
- }
- }
|