1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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
- }
- }
- }
|