mirror of
https://github.com/StarFleetCPTN/GoMFT.git
synced 2026-09-20 13:30:51 +02:00
- Separate built-in authentication options for source and destination in configuration forms. - Update UI components to reflect changes in authentication handling for Google Drive and Google Photos. - Implement path validation for local directories in the configuration forms, enhancing user experience. - Revise README to clarify supported source and destination types, including updated terminology for Google Drive. - Introduce new API endpoint for path validation, improving error handling and user feedback.
50 lines
1.6 KiB
Go
50 lines
1.6 KiB
Go
package migrations
|
|
|
|
import (
|
|
"github.com/go-gormigrate/gormigrate/v2"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// UpdateBuiltinAuthFields updates the use_builtin_auth field to separate source and destination fields
|
|
func UpdateBuiltinAuthFields() *gormigrate.Migration {
|
|
return &gormigrate.Migration{
|
|
ID: "002_update_builtin_auth_fields",
|
|
Migrate: func(tx *gorm.DB) error {
|
|
// First, add the new columns
|
|
if err := tx.Exec(`ALTER TABLE transfer_configs ADD COLUMN use_builtin_auth_source BOOLEAN`).Error; err != nil {
|
|
return err
|
|
}
|
|
if err := tx.Exec(`ALTER TABLE transfer_configs ADD COLUMN use_builtin_auth_dest BOOLEAN`).Error; err != nil {
|
|
return err
|
|
}
|
|
|
|
// Copy the old value to both new columns
|
|
if err := tx.Exec(`UPDATE transfer_configs SET
|
|
use_builtin_auth_source = use_builtin_auth,
|
|
use_builtin_auth_dest = use_builtin_auth`).Error; err != nil {
|
|
return err
|
|
}
|
|
|
|
// Drop the old column
|
|
return tx.Exec(`ALTER TABLE transfer_configs DROP COLUMN use_builtin_auth`).Error
|
|
},
|
|
Rollback: func(tx *gorm.DB) error {
|
|
// Add back the original column
|
|
if err := tx.Exec(`ALTER TABLE transfer_configs ADD COLUMN use_builtin_auth BOOLEAN`).Error; err != nil {
|
|
return err
|
|
}
|
|
|
|
// Copy the source value back (could also use dest, they should be the same)
|
|
if err := tx.Exec(`UPDATE transfer_configs SET use_builtin_auth = use_builtin_auth_source`).Error; err != nil {
|
|
return err
|
|
}
|
|
|
|
// Drop the new columns
|
|
if err := tx.Exec(`ALTER TABLE transfer_configs DROP COLUMN use_builtin_auth_source`).Error; err != nil {
|
|
return err
|
|
}
|
|
return tx.Exec(`ALTER TABLE transfer_configs DROP COLUMN use_builtin_auth_dest`).Error
|
|
},
|
|
}
|
|
}
|