| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | package functionsimport (	"encoding/json"	"strings"	"github.com/gravitl/netmaker/database"	"github.com/gravitl/netmaker/models")// NetworkExists - check if network existsfunc 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 setfunc 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 setfunc 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 nodefunc RemoveDeletedNode(nodeid string) bool {	return database.DeleteRecord(database.DELETED_NODES_TABLE_NAME, nodeid) == nil}// GetAllExtClients - get all ext clientsfunc 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 keyfunc 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)	}}
 |