Refactor gRPC adapter to use connection pool and improve error handling in product retrieval

This commit is contained in:
2025-05-27 17:50:20 +03:00
parent b083cccc09
commit b48421e653
8 changed files with 44 additions and 40 deletions

View File

@@ -2,11 +2,11 @@ package marketplace
import (
"context"
"github.com/jackc/pgx/v5"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
pb "sipro-mps/api/generated/v1/marketplace"
"sipro-mps/internal/marketplace/db"
)
// AdapterGRPC implements the gRPC server for the Marketplace service.
@@ -20,11 +20,11 @@ func NewAdapterGRPC(repo Repository) *AdapterGRPC {
repo: repo,
}
}
func RegisterAdapterGRPC(server *grpc.Server) (*Repository, error) {
conn, err := pgx.Connect(context.Background(), "postgresql://postgres:GjitkeYf%5Beq@/sipro?host=/run/postgresql")
if err != nil {
return nil, err
}
func RegisterAdapterGRPC(server *grpc.Server, conn db.DBTX) (*Repository, error) {
//conn, err := pgx.Connect(context.Background(), "postgresql://postgres:GjitkeYf%5Beq@/sipro?host=/run/postgresql")
//if err != nil {
// return nil, err
//}
repo := NewDBRepository(conn)
adapter := NewAdapterGRPC(repo)
pb.RegisterMarketplaceServiceServer(server, adapter)

View File

@@ -2,15 +2,14 @@ package marketplace
import (
"context"
"github.com/jackc/pgx/v5"
"sipro-mps/internal/marketplace/db"
)
type dbRepository struct {
conn *pgx.Conn
conn db.DBTX
}
func NewDBRepository(conn *pgx.Conn) Repository {
func NewDBRepository(conn db.DBTX) Repository {
return &dbRepository{conn: conn}
}