Files
license-manager/backend/internal/repository/errors.go
T

43 lines
1.4 KiB
Go

package repository
import "errors"
// 客户领域的业务错误(给开发者看的,英文即可)
var (
ErrCustomerNotFound = errors.New("customer not found")
ErrCustomerAlreadyExists = errors.New("customer already exists")
ErrCustomerCodeDuplicate = errors.New("customer code already exists")
)
// 授权码领域的业务错误
var (
ErrAuthorizationCodeNotFound = errors.New("authorization code not found")
ErrAuthorizationCodeAlreadyExists = errors.New("authorization code already exists")
ErrAuthorizationCodeDuplicate = errors.New("authorization code already exists")
)
// 通用的数据库/系统错误(给开发者看的)
var (
ErrDatabaseConnection = errors.New("database connection failed")
ErrDatabaseQuery = errors.New("database query failed")
ErrDatabaseCreate = errors.New("database create failed")
ErrDatabaseUpdate = errors.New("database update failed")
ErrDatabaseDelete = errors.New("database delete failed")
)
// 辅助函数:判断错误类型
func IsCustomerNotFound(err error) bool {
return errors.Is(err, ErrCustomerNotFound)
}
func IsCustomerAlreadyExists(err error) bool {
return errors.Is(err, ErrCustomerAlreadyExists)
}
func IsDatabaseError(err error) bool {
return errors.Is(err, ErrDatabaseConnection) ||
errors.Is(err, ErrDatabaseQuery) ||
errors.Is(err, ErrDatabaseCreate) ||
errors.Is(err, ErrDatabaseUpdate) ||
errors.Is(err, ErrDatabaseDelete)
}