| package models |
|
|
| import ( |
| "errors" |
| "fmt" |
| ) |
|
|
| |
| type GenericError interface { |
| error |
| Unwrap() error |
| } |
|
|
| |
| func NewNamespaceNotFoundError(namespace string) error { |
| return &NamespaceNotFoundError{ |
| err: NewGenericNotFoundError(fmt.Errorf("namespace not found: %s", namespace)), |
| } |
| } |
|
|
| var _ GenericError = &NamespaceNotFoundError{} |
|
|
| |
| type NamespaceNotFoundError struct { |
| err error |
| } |
|
|
| func (e *NamespaceNotFoundError) Error() string { |
| return e.err.Error() |
| } |
|
|
| |
| func (e *NamespaceNotFoundError) Unwrap() error { |
| return e.err |
| } |
|
|
| |
| func NewGenericNotFoundError(err error) error { |
| return &GenericNotFoundError{err: err} |
| } |
|
|
| var _ GenericError = &GenericNotFoundError{} |
|
|
| type GenericNotFoundError struct { |
| err error |
| } |
|
|
| func (e *GenericNotFoundError) Error() string { |
| return fmt.Sprintf("not found error: %s", e.err) |
| } |
|
|
| func (e *GenericNotFoundError) Unwrap() error { |
| return e.err |
| } |
|
|
| |
| func IsGenericNotFoundError(err error) bool { |
| if err == nil { |
| return false |
| } |
|
|
| var e *GenericNotFoundError |
|
|
| return errors.As(err, &e) |
| } |
|
|
| |
| func NewGenericConflictError(err error) error { |
| return &GenericConflictError{err: err} |
| } |
|
|
| var _ GenericError = &GenericConflictError{} |
|
|
| type GenericConflictError struct { |
| err error |
| } |
|
|
| func (e *GenericConflictError) Error() string { |
| return fmt.Sprintf("conflict error: %s", e.err) |
| } |
|
|
| func (e *GenericConflictError) Unwrap() error { |
| return e.err |
| } |
|
|
| |
| func IsGenericConflictError(err error) bool { |
| if err == nil { |
| return false |
| } |
|
|
| var e *GenericConflictError |
|
|
| return errors.As(err, &e) |
| } |
|
|
| |
| func NewGenericForbiddenError(err error) error { |
| return &GenericForbiddenError{err: err} |
| } |
|
|
| var _ GenericError = &GenericForbiddenError{} |
|
|
| type GenericForbiddenError struct { |
| err error |
| } |
|
|
| func (e *GenericForbiddenError) Error() string { |
| return fmt.Sprintf("forbidden error: %s", e.err) |
| } |
|
|
| func (e *GenericForbiddenError) Unwrap() error { |
| return e.err |
| } |
|
|
| |
| func IsGenericForbiddenError(err error) bool { |
| if err == nil { |
| return false |
| } |
|
|
| var e *GenericForbiddenError |
|
|
| return errors.As(err, &e) |
| } |
|
|
| |
| |
| func NewNillableGenericValidationError(err error) error { |
| if err == nil { |
| return nil |
| } |
|
|
| return NewGenericValidationError(err) |
| } |
|
|
| |
| func NewGenericValidationError(err error) error { |
| return &GenericValidationError{err: err} |
| } |
|
|
| var _ GenericError = &GenericValidationError{} |
|
|
| |
| type GenericValidationError struct { |
| err error |
| } |
|
|
| |
| func (e *GenericValidationError) Error() string { |
| return fmt.Sprintf("validation error: %s", e.err) |
| } |
|
|
| |
| func (e *GenericValidationError) Unwrap() error { |
| return e.err |
| } |
|
|
| |
| func IsGenericValidationError(err error) bool { |
| if err == nil { |
| return false |
| } |
|
|
| var e *GenericValidationError |
|
|
| return errors.As(err, &e) |
| } |
|
|
| |
| func NewGenericNotImplementedError(err error) error { |
| return &GenericNotImplementedError{err: err} |
| } |
|
|
| var _ GenericError = &GenericNotImplementedError{} |
|
|
| |
| type GenericNotImplementedError struct { |
| err error |
| } |
|
|
| |
| func (e *GenericNotImplementedError) Error() string { |
| return fmt.Sprintf("not implemented error: %s", e.err) |
| } |
|
|
| |
| func (e *GenericNotImplementedError) Unwrap() error { |
| return e.err |
| } |
|
|
| |
| func IsGenericNotImplementedError(err error) bool { |
| if err == nil { |
| return false |
| } |
|
|
| var e *GenericNotImplementedError |
|
|
| return errors.As(err, &e) |
| } |
|
|
| |
| func NewGenericStatusFailedDependencyError(err error) error { |
| return &GenericStatusFailedDependencyError{err: err} |
| } |
|
|
| var _ GenericError = &GenericStatusFailedDependencyError{} |
|
|
| type GenericStatusFailedDependencyError struct { |
| err error |
| } |
|
|
| func (e *GenericStatusFailedDependencyError) Error() string { |
| return fmt.Sprintf("status failed dependency error: %s", e.err) |
| } |
|
|
| func (e *GenericStatusFailedDependencyError) Unwrap() error { |
| return e.err |
| } |
|
|
| func IsGenericStatusFailedDependencyError(err error) bool { |
| if err == nil { |
| return false |
| } |
|
|
| var e *GenericStatusFailedDependencyError |
|
|
| return errors.As(err, &e) |
| } |
|
|
| |
| func NewGenericPreConditionFailedError(err error) error { |
| return &GenericPreConditionFailedError{err: err} |
| } |
|
|
| var _ GenericError = &GenericPreConditionFailedError{} |
|
|
| type GenericPreConditionFailedError struct { |
| err error |
| } |
|
|
| func (e *GenericPreConditionFailedError) Error() string { |
| return fmt.Sprintf("precondition failed error: %s", e.err) |
| } |
|
|
| func (e *GenericPreConditionFailedError) Unwrap() error { |
| return e.err |
| } |
|
|
| func IsGenericPreConditionFailedError(err error) bool { |
| if err == nil { |
| return false |
| } |
|
|
| var e *GenericPreConditionFailedError |
|
|
| return errors.As(err, &e) |
| } |
|
|
| |
| func NewGenericUnauthorizedError(err error) error { |
| return &GenericUnauthorizedError{err: err} |
| } |
|
|
| var _ GenericError = &GenericUnauthorizedError{} |
|
|
| type GenericUnauthorizedError struct { |
| err error |
| } |
|
|
| func (e *GenericUnauthorizedError) Error() string { |
| return fmt.Sprintf("unauthorized error: %s", e.err) |
| } |
|
|
| func (e *GenericUnauthorizedError) Unwrap() error { |
| return e.err |
| } |
|
|
| func IsGenericUnauthorizedError(err error) bool { |
| if err == nil { |
| return false |
| } |
|
|
| var e *GenericUnauthorizedError |
|
|
| return errors.As(err, &e) |
| } |
|
|
| |
| type ComponentName string |
|
|
| |
| type ErrorCode string |
|
|
| const ( |
| ErrorSeverityCritical ErrorSeverity = iota |
| ErrorSeverityWarning |
| ) |
|
|
| |
| type ErrorSeverity int8 |
|
|
| func (s ErrorSeverity) String() string { |
| switch s { |
| case ErrorSeverityCritical: |
| return "critical" |
| case ErrorSeverityWarning: |
| return "warning" |
| default: |
| return "invalid" |
| } |
| } |
|
|
| func (s ErrorSeverity) Values() []string { |
| return []string{ |
| ErrorSeverityCritical.String(), |
| ErrorSeverityWarning.String(), |
| } |
| } |
|
|
| type fieldPrefixedWrapper struct { |
| prefix *FieldDescriptor |
| err error |
| } |
|
|
| func (p fieldPrefixedWrapper) Error() string { |
| if p.prefix != nil { |
| return p.prefix.String() + ": " + p.err.Error() |
| } |
|
|
| return p.err.Error() |
| } |
|
|
| func (p fieldPrefixedWrapper) Unwrap() error { |
| return p.err |
| } |
|
|
| |
| func ErrorWithFieldPrefix(prefix *FieldDescriptor, err error) error { |
| if err == nil { |
| return nil |
| } |
|
|
| return fieldPrefixedWrapper{prefix: prefix, err: err} |
| } |
|
|
| type componentWrapper struct { |
| component ComponentName |
| err error |
| } |
|
|
| func (e componentWrapper) Error() string { |
| if e.component != "" { |
| return string(e.component) + ": " + e.err.Error() |
| } |
|
|
| return e.err.Error() |
| } |
|
|
| func (e componentWrapper) Unwrap() error { |
| return e.err |
| } |
|
|
| |
| |
| func ErrorWithComponent(component ComponentName, err error) error { |
| if err == nil { |
| return nil |
| } |
|
|
| return componentWrapper{component: component, err: err} |
| } |
|
|