| package meter | |
| import ( | |
| "errors" | |
| "fmt" | |
| "github.com/openmeterio/openmeter/pkg/models" | |
| ) | |
| // NewMeterNotFoundError returns a new MeterNotFoundError. | |
| func NewMeterNotFoundError(meterIDOrSlug string) error { | |
| return &MeterNotFoundError{ | |
| err: models.NewGenericNotFoundError( | |
| fmt.Errorf("meter not found: %s", meterIDOrSlug), | |
| ), | |
| } | |
| } | |
| var _ models.GenericError = &MeterNotFoundError{} | |
| // MeterNotFoundError is returned when a meter is not found. | |
| type MeterNotFoundError struct { | |
| err error | |
| } | |
| // Error returns the error message. | |
| func (e *MeterNotFoundError) Error() string { | |
| return e.err.Error() | |
| } | |
| // Unwrap returns the wrapped error. | |
| func (e *MeterNotFoundError) Unwrap() error { | |
| return e.err | |
| } | |
| // IsMeterNotFoundError returns true if the error is a MeterNotFoundError. | |
| func IsMeterNotFoundError(err error) bool { | |
| if err == nil { | |
| return false | |
| } | |
| var e *MeterNotFoundError | |
| return errors.As(err, &e) | |
| } | |