package database import ( "fmt" "gorm.io/driver/postgres" "gorm.io/gorm" ) // DatabaseConfig type DatabaseConfig struct { Host string Port int Username string Password string DBName string SSLMode string } func Connect(cfg DatabaseConfig) (*gorm.DB, error) { dsn := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=%s", cfg.Host, cfg.Port, cfg.Username, cfg.Password, cfg.DBName, cfg.SSLMode, ) db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) if err != nil { return nil, fmt.Errorf("connect database: %w", err) } return db, nil }