49 lines
954 B
Go
49 lines
954 B
Go
package database
|
|
|
|
// import (
|
|
// "database/sql"
|
|
// "errors"
|
|
|
|
// "github.com/jackc/pgx/v5/pgconn"
|
|
// "gorm.io/gorm"
|
|
// )
|
|
|
|
// func IsGORMUniqueViolation(err error) bool {
|
|
// return errors.Is(err, gorm.ErrDuplicatedKey)
|
|
// }
|
|
|
|
// func IsGORMNoRows(err error) bool {
|
|
// return errors.Is(err, gorm.ErrRecordNotFound)
|
|
// }
|
|
|
|
// // ****************** errors ******************
|
|
|
|
// const (
|
|
// foreignKeyViolation = "23503"
|
|
// uniqueViolation = "23505"
|
|
// )
|
|
|
|
// // var ErrUniqueViolation = &pgconn.PgError{
|
|
// // Code: UniqueViolation,
|
|
// // }
|
|
|
|
// func ErrorCode(err error) string {
|
|
// var pgErr *pgconn.PgError
|
|
// if errors.As(err, &pgErr) {
|
|
// return pgErr.Code
|
|
// }
|
|
// return ""
|
|
// }
|
|
|
|
// func IsUniqueViolation(err error) bool {
|
|
// var pgErr *pgconn.PgError
|
|
// if errors.As(err, &pgErr) {
|
|
// return pgErr.Code == uniqueViolation
|
|
// }
|
|
// return false
|
|
// }
|
|
|
|
// func IsNoRows(err error) bool {
|
|
// return errors.Is(err, sql.ErrNoRows)
|
|
// }
|