Yimaru-BackEnd/internal/repository/common.go

36 lines
531 B
Go

package repository
import (
"errors"
"time"
"github.com/jackc/pgx/v5/pgconn"
"github.com/jackc/pgx/v5/pgtype"
)
func IsUniqueViolation(err error) bool {
var pgErr *pgconn.PgError
return errors.As(err, &pgErr) && pgErr.Code == "23505"
}
func ptrTimestamptz(t pgtype.Timestamptz) *time.Time {
if !t.Valid {
return nil
}
return &t.Time
}
func ptrString(t pgtype.Text) *string {
if !t.Valid {
return nil
}
return &t.String
}
func ptrInt64(v pgtype.Int8) *int64 {
if !v.Valid {
return nil
}
return &v.Int64
}