separating logic for config

This commit is contained in:
2025-11-23 20:40:21 +00:00
parent 1323d33bd1
commit 7e527715d1

View File

@@ -2,23 +2,24 @@ package services
import ( import (
"fmt" "fmt"
"os"
"adam-french.co.uk/backend/models" "adam-french.co.uk/backend/models"
"gorm.io/driver/postgres" "gorm.io/driver/postgres"
"gorm.io/gorm" "gorm.io/gorm"
) )
func connectToPostgreSQL() (*gorm.DB, error) { type SQLConfig struct {
user := os.Getenv("POSTGRES_USER") User string
password := os.Getenv("POSTGRES_PASSWORD") Password string
dbname := os.Getenv("POSTGRES_DB") DBName string
host := os.Getenv("POSTGRES_HOST") Host string
port := os.Getenv("POSTGRES_PORT") Port string
}
func connectToPostgreSQL(config SQLConfig) (*gorm.DB, error) {
dsn := fmt.Sprintf( dsn := fmt.Sprintf(
"user=%s password=%s dbname=%s host=%s port=%s sslmode=disable", "user=%s password=%s dbname=%s host=%s port=%s sslmode=disable",
user, password, dbname, host, port, config.User, config.Password, config.DBName, config.Host, config.Port,
) )
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
@@ -42,8 +43,8 @@ func migrateDatabase(db *gorm.DB) error {
return nil return nil
} }
func InitDatabase() (*gorm.DB, error) { func InitDatabase(config SQLConfig) (*gorm.DB, error) {
db, err := connectToPostgreSQL() db, err := connectToPostgreSQL(config)
if err != nil { if err != nil {
return nil, err return nil, err
} }