diff --git a/internal/db/db.go b/internal/db/db.go index aac927b..87599fb 100644 --- a/internal/db/db.go +++ b/internal/db/db.go @@ -33,6 +33,21 @@ func Initialize(dbPath string) (*DB, error) { return nil, fmt.Errorf("failed to run migrations: %v", err) } + // Close the database connection after migrations + sqlDB, err := db.DB() + if err != nil { + return nil, fmt.Errorf("failed to get underlying database: %v", err) + } + if err := sqlDB.Close(); err != nil { + return nil, fmt.Errorf("failed to close database after migrations: %v", err) + } + + // Reopen the database connection for a clean state + db, err = gorm.Open(sqlite.Open(dbPath), &gorm.Config{}) + if err != nil { + return nil, fmt.Errorf("failed to reconnect to database after migrations: %v", err) + } + return &DB{DB: db}, nil } @@ -55,10 +70,3 @@ func (db *DB) Close() error { } return sqlDB.Close() } - -// GetEnabledAuthProviders returns all enabled authentication providers -// func (db *DB) GetEnabledAuthProviders(ctx context.Context) ([]AuthProvider, error) { -// var providers []AuthProvider -// result := db.WithContext(ctx).Where("enabled = ?", true).Find(&providers) -// return providers, result.Error -// } diff --git a/internal/rclone_service/rclone_service.go b/internal/rclone_service/rclone_service.go index ed956ea..516dc0b 100644 --- a/internal/rclone_service/rclone_service.go +++ b/internal/rclone_service/rclone_service.go @@ -210,12 +210,12 @@ func TestRcloneConnection(config db.TransferConfig, providerType string, dbInsta createArgs = append(createArgs, "domain", domain) } case "webdav": - createArgs = append(createArgs, "url", endpoint, "vendor", "other", "user", user) + createArgs = append(createArgs, "url", host, "vendor", "other", "user", user) if pass != "" { createArgs = append(createArgs, "pass", pass) } case "nextcloud": - createArgs = append(createArgs, "url", endpoint, "vendor", "nextcloud", "user", user) + createArgs = append(createArgs, "url", host, "vendor", "nextcloud", "user", user) if pass != "" { createArgs = append(createArgs, "pass", pass) }