File size: 2,158 Bytes
cee2387 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 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",
)
|