| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | package logicimport (	"encoding/json"	"github.com/gravitl/netmaker/database"	"github.com/gravitl/netmaker/logger"	"github.com/gravitl/netmaker/models")// IsLegacyNode - checks if a node is legacy or notfunc IsLegacyNode(nodeID string) bool {	record, err := database.FetchRecord(database.NODES_TABLE_NAME, nodeID)	if err != nil {		return false	}	var currentNode models.Node	var legacyNode models.LegacyNode	currentNodeErr := json.Unmarshal([]byte(record), ¤tNode)	legacyNodeErr := json.Unmarshal([]byte(record), &legacyNode)	return currentNodeErr != nil && legacyNodeErr == nil}// CheckAndRemoveLegacyNode - checks for legacy node and removesfunc CheckAndRemoveLegacyNode(nodeID string) bool {	if IsLegacyNode(nodeID) {		if err := database.DeleteRecord(database.NODES_TABLE_NAME, nodeID); err == nil {			return true		}	}	return false}// RemoveAllLegacyNodes - fetches all legacy nodes from DB and removesfunc RemoveAllLegacyNodes() error {	records, err := database.FetchRecords(database.NODES_TABLE_NAME)	if err != nil {		return err	}	for k := range records {		if CheckAndRemoveLegacyNode(k) {			logger.Log(0, "removed legacy node", k)		}	}	return nil}
 |