package migrate import ( "encoding/json" "github.com/gravitl/netmaker/database" "github.com/gravitl/netmaker/logger" "github.com/gravitl/netmaker/models" ) // Run - runs all migrations func 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 } } }