| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | package migrateimport (	"encoding/json"	"github.com/gravitl/netmaker/database"	"github.com/gravitl/netmaker/logger"	"github.com/gravitl/netmaker/models")// Run - runs all migrationsfunc Run() {	updateEnrollmentKeys()}func updateEnrollmentKeys() {	rows, err := database.FetchRecords(database.ENROLLMENT_KEYS_TABLE_NAME)	if err != nil {		return	}	for _, row := range rows {		var key models.EnrollmentKey		if err = json.Unmarshal([]byte(row), &key); err != nil {			continue		}		if key.Type != models.Undefined {			logger.Log(2, "migration: enrollment key type already set")			continue		} else {			logger.Log(2, "migration: updating enrollment key type")			if key.Unlimited {				key.Type = models.Unlimited			} else if key.UsesRemaining > 0 {				key.Type = models.Uses			} else if !key.Expiration.IsZero() {				key.Type = models.TimeExpiration			}		}		data, err := json.Marshal(key)		if err != nil {			logger.Log(0, "migration: marshalling enrollment key: "+err.Error())			continue		}		if err = database.Insert(key.Value, string(data), database.ENROLLMENT_KEYS_TABLE_NAME); err != nil {			logger.Log(0, "migration: inserting enrollment key: "+err.Error())			continue		}	}}
 |