udemy-go-web-1/internal/repository/dbrepo/dbrepo.go

47 lines
773 B
Go
Raw Permalink Normal View History

package dbrepo
import (
"database/sql"
"go-udemy-web-1/internal/config"
"go-udemy-web-1/internal/repository"
"go-udemy-web-1/internal/repository/sqlc"
"github.com/jackc/pgx/v5"
)
type postgresDBRepo struct {
App *config.AppConfig
DB *sql.DB
}
2024-07-31 20:15:37 +00:00
type pgcDBRepo struct {
App *config.AppConfig
Q *sqlc.Queries
2024-07-31 20:15:37 +00:00
}
2024-07-12 20:43:16 +00:00
type testDBRepo struct {
App *config.AppConfig
DB *sql.DB
}
func NewPostgresRepo(conn *sql.DB, a *config.AppConfig) repository.DatabaseRepo {
return &postgresDBRepo{
App: a,
DB: conn,
}
}
2024-07-12 20:43:16 +00:00
func NewTestingRepo(a *config.AppConfig) repository.DatabaseRepo {
return &testDBRepo{
App: a,
}
}
2024-07-31 20:15:37 +00:00
func NewPgcRepo(conn *pgx.Conn, a *config.AppConfig) repository.DatabaseRepo {
q := sqlc.New(conn)
2024-07-31 20:15:37 +00:00
return &pgcDBRepo{
App: a,
Q: q,
}
}