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 }