Documentation
¶
Index ¶
- Constants
- type Adapter
- type CreateCustomerInput
- type Customer
- type CustomerAdapter
- type CustomerID
- type CustomerMutate
- type CustomerService
- type CustomerUsageAttribution
- type DeleteCustomerInput
- type ForbiddenError
- type GetCustomerInput
- type GetEntitlementValueInput
- type KeyConflictError
- type ListCustomersInput
- type NotFoundError
- type Service
- type SubjectKeyConflictError
- type UpdateAfterDeleteError
- type UpdateCustomerInput
- type ValidationError
Constants ¶
const ( IncludeDeleted = false DefaultPageNumber = 1 DefaultPageSize = 100 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter interface {
CustomerAdapter
entutils.TxCreator
}
type CreateCustomerInput ¶
type CreateCustomerInput struct {
Namespace string
CustomerMutate
}
CreateCustomerInput represents the input for the CreateCustomer method
func (CreateCustomerInput) Validate ¶
func (i CreateCustomerInput) Validate() error
type Customer ¶
type Customer struct {
models.ManagedResource
Key *string `json:"key,omitempty"`
UsageAttribution CustomerUsageAttribution `json:"usageAttribution"`
PrimaryEmail *string `json:"primaryEmail,omitempty"`
Currency *currencyx.Code `json:"currency,omitempty"`
BillingAddress *models.Address `json:"billingAddress,omitempty"`
CurrentSubscriptionID *string `json:"currentSubscriptionId,omitempty"`
}
Customer represents a customer
func (Customer) GetID ¶
func (c Customer) GetID() CustomerID
type CustomerAdapter ¶
type CustomerAdapter interface {
ListCustomers(ctx context.Context, params ListCustomersInput) (pagination.PagedResponse[Customer], error)
CreateCustomer(ctx context.Context, params CreateCustomerInput) (*Customer, error)
DeleteCustomer(ctx context.Context, customer DeleteCustomerInput) error
GetCustomer(ctx context.Context, customer GetCustomerInput) (*Customer, error)
UpdateCustomer(ctx context.Context, params UpdateCustomerInput) (*Customer, error)
}
type CustomerID ¶
type CustomerID models.NamespacedID
func (CustomerID) Validate ¶
func (i CustomerID) Validate() error
type CustomerMutate ¶
type CustomerMutate struct {
Key *string `json:"key,omitempty"`
Name string `json:"name"`
Description *string `json:"description,omitempty"`
UsageAttribution CustomerUsageAttribution `json:"usageAttribution"`
PrimaryEmail *string `json:"primaryEmail"`
Currency *currencyx.Code `json:"currency"`
BillingAddress *models.Address `json:"billingAddress"`
}
func (CustomerMutate) Validate ¶
func (c CustomerMutate) Validate() error
type CustomerService ¶
type CustomerService interface {
ListCustomers(ctx context.Context, params ListCustomersInput) (pagination.PagedResponse[Customer], error)
CreateCustomer(ctx context.Context, params CreateCustomerInput) (*Customer, error)
DeleteCustomer(ctx context.Context, customer DeleteCustomerInput) error
GetCustomer(ctx context.Context, customer GetCustomerInput) (*Customer, error)
UpdateCustomer(ctx context.Context, params UpdateCustomerInput) (*Customer, error)
GetEntitlementValue(ctx context.Context, input GetEntitlementValueInput) (entitlement.EntitlementValue, error)
}
type CustomerUsageAttribution ¶
type CustomerUsageAttribution struct {
SubjectKeys []string `json:"subjectKeys"`
}
CustomerUsageAttribution represents the usage attribution for a customer
func (CustomerUsageAttribution) GetSubjectKey ¶
func (c CustomerUsageAttribution) GetSubjectKey() (string, error)
UsageAttribution
type DeleteCustomerInput ¶
type DeleteCustomerInput CustomerID
DeleteCustomerInput represents the input for the DeleteCustomer method
func (DeleteCustomerInput) Validate ¶
func (i DeleteCustomerInput) Validate() error
type ForbiddenError ¶
type ForbiddenError genericError
func (ForbiddenError) Error ¶
func (e ForbiddenError) Error() string
func (ForbiddenError) Unwrap ¶
func (e ForbiddenError) Unwrap() error
type GetCustomerInput ¶
type GetCustomerInput CustomerID
GetCustomerInput represents the input for the GetCustomer method
func (GetCustomerInput) Validate ¶
func (i GetCustomerInput) Validate() error
type GetEntitlementValueInput ¶
type GetEntitlementValueInput struct {
ID models.NamespacedID
FeatureKey string
}
func (GetEntitlementValueInput) Validate ¶
func (i GetEntitlementValueInput) Validate() error
type KeyConflictError ¶
KeyConflictError represents an error when a subject key is already associated with a customer
func (KeyConflictError) Error ¶
func (e KeyConflictError) Error() string
type ListCustomersInput ¶
type ListCustomersInput struct {
Namespace string
pagination.Page
IncludeDeleted bool
// Order
OrderBy api.CustomerOrderBy
Order sortx.Order
// Filters
Key *string
Name *string
PrimaryEmail *string
Subject *string
PlanKey *string
}
ListCustomersInput represents the input for the ListCustomers method
type NotFoundError ¶
type NotFoundError struct {
CustomerID
}
func (NotFoundError) Error ¶
func (e NotFoundError) Error() string
type Service ¶
type Service interface {
CustomerService
}
type SubjectKeyConflictError ¶
type SubjectKeyConflictError struct {
Namespace string `json:"namespace"`
SubjectKeys []string `json:"subjectKeys"`
}
SubjectKeyConflictError represents an error when a subject key is already associated with a customer
func (SubjectKeyConflictError) Error ¶
func (e SubjectKeyConflictError) Error() string
type UpdateAfterDeleteError ¶
type UpdateAfterDeleteError genericError
func (UpdateAfterDeleteError) Error ¶
func (e UpdateAfterDeleteError) Error() string
func (UpdateAfterDeleteError) Unwrap ¶
func (e UpdateAfterDeleteError) Unwrap() error
type UpdateCustomerInput ¶
type UpdateCustomerInput struct {
CustomerID CustomerID
CustomerMutate
}
UpdateCustomerInput represents the input for the UpdateCustomer method
func (UpdateCustomerInput) Validate ¶
func (i UpdateCustomerInput) Validate() error
type ValidationError ¶
type ValidationError genericError
func (ValidationError) Error ¶
func (e ValidationError) Error() string
func (ValidationError) Unwrap ¶
func (e ValidationError) Unwrap() error