Files
api-gateway/app/database/conn.go
2026-02-05 23:58:47 +01:00

40 lines
1016 B
Go

package database
import (
"fmt"
"git.secnex.io/secnex/api-gateway/config"
"git.secnex.io/secnex/masterlog"
"gorm.io/driver/postgres"
"gorm.io/gorm"
"gorm.io/gorm/logger"
)
var Connection *gorm.DB
func Connect(config config.Database) error {
masterlog.Info("Connecting to database", map[string]interface{}{
"host": config.Host,
"port": config.Port,
"user": config.User,
"database": config.Database,
"sslmode": config.SSLMode,
})
dsn := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=%s", config.Host, config.Port, config.User, config.Password, config.Database, config.SSLMode)
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{
Logger: logger.Default.LogMode(logger.Silent),
})
if err != nil {
return err
}
masterlog.Info("Connected to database", map[string]interface{}{
"host": config.Host,
"port": config.Port,
"user": config.User,
"database": config.Database,
"sslmode": config.SSLMode,
})
Connection = db
return nil
}