43 lines
829 B
Go
43 lines
829 B
Go
package database
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"git.tek.govt.hu/dowerx/szoe-pontok/config"
|
|
"github.com/jmoiron/sqlx"
|
|
_ "github.com/lib/pq"
|
|
"github.com/redis/go-redis/v9"
|
|
)
|
|
|
|
var db *sqlx.DB
|
|
|
|
func GetDB() *sqlx.DB {
|
|
if db == nil {
|
|
cfg := config.GetConfig()
|
|
newDB, err := sqlx.Connect("postgres", fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", cfg.Database.Host, cfg.Database.Port, cfg.Database.User, cfg.Database.Password, cfg.Database.DBname))
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
db = newDB
|
|
}
|
|
|
|
return db
|
|
}
|
|
|
|
var rdb *redis.Client
|
|
var ctx context.Context
|
|
|
|
func GetRDB() (*redis.Client, context.Context) {
|
|
if rdb == nil {
|
|
ctx = context.Background()
|
|
rdb = redis.NewClient(&config.GetConfig().Redis)
|
|
|
|
if err := rdb.Ping(ctx).Err(); err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
return rdb, ctx
|
|
}
|