|
|
@ -90,11 +90,27 @@ func migrateEmailStorage(app *appContext) error {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
newEmails := map[string]EmailAddress{}
|
|
|
|
newEmails := map[string]EmailAddress{}
|
|
|
|
for jfID, addr := range emails {
|
|
|
|
for jfID, addr := range emails {
|
|
|
|
newEmails[jfID] = EmailAddress{
|
|
|
|
switch addr.(type) {
|
|
|
|
Addr: addr.(string),
|
|
|
|
case string:
|
|
|
|
Contact: true,
|
|
|
|
newEmails[jfID] = EmailAddress{
|
|
|
|
|
|
|
|
Addr: addr.(string),
|
|
|
|
|
|
|
|
Contact: true,
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// In case email settings still persist after migration has already happened
|
|
|
|
|
|
|
|
case map[string]interface{}:
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
|
|
|
return fmt.Errorf("Email address was type %T, not string: \"%+v\"\n", addr, addr)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
config, err := ini.Load(app.configPath)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
return err
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
config.Section("email").Key("use_24h").SetValue("")
|
|
|
|
|
|
|
|
if err := config.SaveTo(app.configPath); err != nil {
|
|
|
|
|
|
|
|
return err
|
|
|
|
|
|
|
|
}
|
|
|
|
err = storeJSON(app.storage.emails_path+".bak", emails)
|
|
|
|
err = storeJSON(app.storage.emails_path+".bak", emails)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|