Files
go-api-pkg/database/connect.go
2025-10-21 13:26:50 +02:00

44 lines
819 B
Go

package database
import (
"context"
"errors"
"github.com/jackc/pgx/v5/pgconn"
"github.com/jackc/pgx/v5/pgxpool"
)
func Connect(connStr string) (*pgxpool.Pool, error) {
pool, err := pgxpool.New(context.Background(), connStr)
if err != nil {
return nil, err
}
return pool, nil
}
func IsDuplicatedRow(err error) error {
var pgErr *pgconn.PgError
if errors.As(err, &pgErr) && pgErr.Code == "23505" {
return errors.New("duplicated row found")
}
return nil
}
// FIXME get an idea how this func should work
// func NoRowsInQuerySet(err error) error {
// var pgErr *pgconn.PgError
// if errors.As(err, &pgErr) {
// fmt.Println("pgerr:", pgErr.Code)
// return errors.New("no rows selected")
// }
// // if err == pgconn. {
// // fmt.Println("No rows were found.")
// // }
// return nil
// }