package pg import ( "gerald/internal/adapters/config" "gerald/internal/models" "github.com/rs/zerolog" "gorm.io/driver/postgres" "gorm.io/gorm" gormlogger "gorm.io/gorm/logger" ) type DB struct { Ticket *Feedback logger zerolog.Logger } func NewDB( db *gorm.DB, logger zerolog.Logger, ) *DB { return &DB{ Ticket: NewFeedback(db), logger: logger, } } func NewClient(cfg *config.Config, logger zerolog.Logger) *gorm.DB { db, err := gorm.Open(postgres.Open(cfg.PostgresDSN), &gorm.Config{ Logger: gormlogger.Default.LogMode(gormlogger.Silent), }) if err != nil { logger.Fatal().Err(err).Msg("Cannot connect to database") } return db } func Close(db *gorm.DB) error { dbConn, _ := db.DB() return dbConn.Close() } func CreateSchema(db *gorm.DB) error { err := db.AutoMigrate( &models.Feedback{}, ) if err != nil { return err } return nil }