Initial
This commit is contained in:
commit
995ea60f34
11 changed files with 449 additions and 0 deletions
43
pkg/db/handler.go
Normal file
43
pkg/db/handler.go
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
package db
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/logger"
|
||||
"merch-parser-api/config"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func Connection(c *config.Config) (*gorm.DB, error) {
|
||||
dsn := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=%s",
|
||||
c.DBConf.Host, c.DBConf.Port, c.DBConf.User, c.DBConf.Password, c.DBConf.DBName, c.DBConf.SSLMode)
|
||||
|
||||
db, err := gorm.Open(postgres.New(postgres.Config{
|
||||
DSN: dsn,
|
||||
PreferSimpleProtocol: true,
|
||||
}), &gorm.Config{
|
||||
Logger: logger.Default.LogMode(setLevel(c.DBConf.LogLevel)),
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return db, nil
|
||||
}
|
||||
|
||||
func setLevel(level string) logger.LogLevel {
|
||||
switch strings.ToLower(level) {
|
||||
case "silent":
|
||||
return logger.Silent
|
||||
case "error":
|
||||
return logger.Error
|
||||
case "warn":
|
||||
return logger.Warn
|
||||
case "info":
|
||||
return logger.Info
|
||||
default:
|
||||
return logger.Info
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue