feat: dbcontext

This commit is contained in:
2025-06-20 20:28:50 +03:00
parent 1dc24df037
commit 8577314875
4 changed files with 61 additions and 1 deletions

View File

@@ -0,0 +1,43 @@
package database
import (
"context"
"github.com/jackc/pgx/v5/pgxpool"
"easywish/config"
)
type DbContext interface {
Close()
}
type dbContextImpl struct {
Pool *pgxpool.Pool
Context context.Context
}
func NewDbContext() DbContext {
ctx := context.Background()
pool, err := pgxpool.New(ctx, config.GetConfig().DatabaseUrl)
if err != nil {
panic(err.Error())
}
if err := pool.Ping(context.Background()); err != nil {
panic(err.Error())
}
return &dbContextImpl{
Pool: pool,
Context: ctx,
}
}
// Close implements DbContext.
func (d *dbContextImpl) Close() {
d.Pool.Close()
}

View File

@@ -0,0 +1,13 @@
package database
import (
"go.uber.org/fx"
)
var Module = fx.Module("database",
fx.Provide(
NewDbContext,
),
)