GODT-2173: fix: do not migrate keychain once migrated

This commit is contained in:
Jakub
2022-12-12 17:06:43 +01:00
committed by Jakub Cuth
parent ebb04d8a14
commit 57d563d488
3 changed files with 64 additions and 7 deletions

View File

@ -43,6 +43,16 @@ import (
func migrateKeychainHelper(locations *locations.Locations) error {
logrus.Info("Migrating keychain helper")
settings, err := locations.ProvideSettingsPath()
if err != nil {
return fmt.Errorf("failed to get settings path: %w", err)
}
if keychainName, _ := vault.GetHelper(settings); keychainName != "" {
// If uncorupted keychain file is already there do not migrate again.
return nil
}
configDir, err := os.UserConfigDir()
if err != nil {
return fmt.Errorf("failed to get user config dir: %w", err)
@ -63,11 +73,6 @@ func migrateKeychainHelper(locations *locations.Locations) error {
return fmt.Errorf("failed to unmarshal old prefs file: %w", err)
}
settings, err := locations.ProvideSettingsPath()
if err != nil {
return fmt.Errorf("failed to get settings path: %w", err)
}
return vault.SetHelper(settings, prefs.Helper)
}