| package entitlement |
|
|
| import ( |
| "fmt" |
|
|
| "github.com/openmeterio/openmeter/pkg/models" |
| ) |
|
|
| type AlreadyExistsError struct { |
| EntitlementID string |
| FeatureID string |
| CustomerID string |
| } |
|
|
| func (e *AlreadyExistsError) Error() string { |
| return fmt.Sprintf("entitlement with id %s already exists for feature %s and customer %s", e.EntitlementID, e.FeatureID, e.CustomerID) |
| } |
|
|
| type AlreadyDeletedError struct { |
| EntitlementID string |
| } |
|
|
| func (e *AlreadyDeletedError) Error() string { |
| return fmt.Sprintf("entitlement with id %s already deleted", e.EntitlementID) |
| } |
|
|
| type NotFoundError struct { |
| EntitlementID models.NamespacedID |
| } |
|
|
| func (e *NotFoundError) Error() string { |
| return fmt.Sprintf("entitlement not found %s in namespace %s", e.EntitlementID.ID, e.EntitlementID.Namespace) |
| } |
|
|
| type WrongTypeError struct { |
| Expected EntitlementType |
| Actual EntitlementType |
| } |
|
|
| func (e *WrongTypeError) Error() string { |
| return fmt.Sprintf("expected entitlement type %s but got %s", e.Expected, e.Actual) |
| } |
|
|
| type InvalidValueError struct { |
| Message string |
| Type EntitlementType |
| } |
|
|
| func (e *InvalidValueError) Error() string { |
| return fmt.Sprintf("invalid entitlement value for type %s: %s", e.Type, e.Message) |
| } |
|
|
| type InvalidFeatureError struct { |
| FeatureID string |
| Message string |
| } |
|
|
| func (e *InvalidFeatureError) Error() string { |
| return fmt.Sprintf("invalid feature %s: %s", e.FeatureID, e.Message) |
| } |
|
|
| type ForbiddenError struct { |
| Message string |
| } |
|
|
| func (e *ForbiddenError) Error() string { |
| return fmt.Sprintf("forbidden: %s", e.Message) |
| } |
|
|
| const ErrCodeEntitlementCreatePropertyMismatch models.ErrorCode = "entitlement_create_property_mismatch" |
|
|
| var ErrEntitlementCreatePropertyMismatch = models.NewValidationIssue( |
| ErrCodeEntitlementCreatePropertyMismatch, |
| "entitlement create property mismatch", |
| ) |
|
|
| const ErrCodeEntitlementGrantsOnlySupportedForMeteredEntitlements models.ErrorCode = "entitlement_grants_only_supported_for_metered_entitlements" |
|
|
| var ErrEntitlementGrantsOnlySupportedForMeteredEntitlements = models.NewValidationIssue( |
| ErrCodeEntitlementGrantsOnlySupportedForMeteredEntitlements, |
| "grants are only supported for metered entitlements", |
| ) |
|
|