Documentation
¶
Index ¶
- func FromAPIBillingSubscriptionCreate(namespace string, customerID customer.CustomerID, subscriptionName string, ...) (subscriptionworkflow.CreateSubscriptionWorkflowInput, error)
- func FromAPIBillingSubscriptionCreateTiming(t api.BillingSubscriptionCreateTiming) (subscription.Timing, error)
- func FromAPIBillingSubscriptionCustomPlan(namespace string, body api.BillingSubscriptionCustomPlan) (plan.CreatePlanInput, error)
- func FromAPIBillingSubscriptionEditOperation(op api.BillingSubscriptionEditOperation) (subscription.Patch, error)
- func FromAPIBillingSubscriptionEditTiming(t api.BillingSubscriptionEditTiming) (subscription.Timing, error)
- func FromAPIBillingSubscriptionEditTimingEnum(t api.BillingSubscriptionEditTimingEnum) (subscription.Timing, error)
- func FromAPIBillingSubscriptionMigrate(id models.NamespacedID, body api.BillingSubscriptionMigrate) (plansubscription.MigrateSubscriptionRequest, error)
- func FromAPISubscriptionSortField(ctx context.Context, field string) (subscription.OrderBy, error)
- func ToAPIBillingSubscription(view subscription.SubscriptionView) (api.BillingSubscription, error)
- func ToAPIBillingSubscriptionBase(sub subscription.Subscription) api.BillingSubscriptionBase
- func ToAPIBillingSubscriptionWithoutView(sub subscription.Subscription) api.BillingSubscription
- type CancelSubscriptionHandler
- type CancelSubscriptionParams
- type CancelSubscriptionRequest
- type CancelSubscriptionResponse
- type ChangeSubscriptionHandler
- type ChangeSubscriptionParams
- type ChangeSubscriptionRequest
- type ChangeSubscriptionResponse
- type CreateSubscriptionHandler
- type CreateSubscriptionRequest
- type CreateSubscriptionResponse
- type EditSubscriptionHandler
- type EditSubscriptionParams
- type EditSubscriptionRequest
- type EditSubscriptionResponse
- type GetSubscriptionHandler
- type GetSubscriptionParams
- type GetSubscriptionRequest
- type GetSubscriptionResponse
- type Handler
- type ListSubscriptionsHandler
- type ListSubscriptionsParams
- type ListSubscriptionsRequest
- type ListSubscriptionsResponse
- type MigrateSubscriptionHandler
- type MigrateSubscriptionParams
- type MigrateSubscriptionRequest
- type MigrateSubscriptionResponse
- type RestoreSubscriptionHandler
- type RestoreSubscriptionParams
- type RestoreSubscriptionRequest
- type RestoreSubscriptionResponse
- type UnscheduleCancelationHandler
- type UnscheduleCancelationParams
- type UnscheduleCancelationRequest
- type UnscheduleCancelationResponse
- type UnscheduleSubscriptionHandler
- type UnscheduleSubscriptionParams
- type UnscheduleSubscriptionRequest
- type UnscheduleSubscriptionResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FromAPIBillingSubscriptionCreate ¶
func FromAPIBillingSubscriptionCreate( namespace string, customerID customer.CustomerID, subscriptionName string, createSubscriptionRequest api.BillingSubscriptionCreate, ) (subscriptionworkflow.CreateSubscriptionWorkflowInput, error)
FromAPIBillingSubscriptionCreate converts a create subscription request to a create subscription workflow input.
func FromAPIBillingSubscriptionCreateTiming ¶
func FromAPIBillingSubscriptionCreateTiming(t api.BillingSubscriptionCreateTiming) (subscription.Timing, error)
FromAPIBillingSubscriptionCreateTiming maps the create-body timing to the domain timing. Create timing is deliberately narrower than edit timing: only immediate or a custom timestamp — next_billing_cycle is not a create value (a new subscription has no current billing cycle), so it is not part of the type.
func FromAPIBillingSubscriptionCustomPlan ¶
func FromAPIBillingSubscriptionCustomPlan(namespace string, body api.BillingSubscriptionCustomPlan) (plan.CreatePlanInput, error)
FromAPIBillingSubscriptionCustomPlan maps an inline (custom) plan definition from a create or change request into the domain plan create input. It performs pure mapping only: plan validity, currency resolution, and the fiat/custom-currency rules are enforced downstream by the subscription service and spec validation.
func FromAPIBillingSubscriptionEditOperation ¶
func FromAPIBillingSubscriptionEditOperation(op api.BillingSubscriptionEditOperation) (subscription.Patch, error)
FromAPIBillingSubscriptionEditOperation maps a single API edit operation to the domain subscription patch that applies it to the target spec. The mapping mirrors the v1 editSubscription handler; rate cards are converted via the shared plans converter so add-item stays consistent with plan/subscription creation.
func FromAPIBillingSubscriptionEditTiming ¶
func FromAPIBillingSubscriptionEditTiming(t api.BillingSubscriptionEditTiming) (subscription.Timing, error)
func FromAPIBillingSubscriptionEditTimingEnum ¶
func FromAPIBillingSubscriptionEditTimingEnum(t api.BillingSubscriptionEditTimingEnum) (subscription.Timing, error)
func FromAPIBillingSubscriptionMigrate ¶
func FromAPIBillingSubscriptionMigrate(id models.NamespacedID, body api.BillingSubscriptionMigrate) (plansubscription.MigrateSubscriptionRequest, error)
func ToAPIBillingSubscription ¶
func ToAPIBillingSubscription(view subscription.SubscriptionView) (api.BillingSubscription, error)
func ToAPIBillingSubscriptionBase ¶
func ToAPIBillingSubscriptionBase(sub subscription.Subscription) api.BillingSubscriptionBase
ToAPIBillingSubscriptionBase maps the subscription's own fields without view data.
func ToAPIBillingSubscriptionWithoutView ¶
func ToAPIBillingSubscriptionWithoutView(sub subscription.Subscription) api.BillingSubscription
ToAPIBillingSubscriptionWithoutView maps a bare subscription — no view — to the API model: base fields only, an empty phase list, and no current period. It serves callers that side-load subscriptions without their specs (e.g. the customer charges subscription expand); the view-derived fields need ToAPIBillingSubscription.
Types ¶
type CancelSubscriptionHandler ¶
type CancelSubscriptionHandler httptransport.HandlerWithArgs[CancelSubscriptionRequest, CancelSubscriptionResponse, CancelSubscriptionParams]
type CancelSubscriptionParams ¶
type CancelSubscriptionParams = string
type CancelSubscriptionRequest ¶
type CancelSubscriptionRequest struct {
ID models.NamespacedID
Timing subscription.Timing
}
type CancelSubscriptionResponse ¶
type CancelSubscriptionResponse = api.BillingSubscription
type ChangeSubscriptionHandler ¶
type ChangeSubscriptionHandler httptransport.HandlerWithArgs[ChangeSubscriptionRequest, ChangeSubscriptionResponse, ChangeSubscriptionParams]
type ChangeSubscriptionParams ¶
type ChangeSubscriptionParams = string
type ChangeSubscriptionRequest ¶
type ChangeSubscriptionRequest struct {
ID models.NamespacedID
PlanInput plansubscription.PlanInput
WorkflowInput subscriptionworkflow.ChangeSubscriptionWorkflowInput
StartingPhase *string
SettlementMode *productcatalog.SettlementMode
}
type ChangeSubscriptionResponse ¶
type ChangeSubscriptionResponse = api.BillingSubscriptionChangeResponse
type CreateSubscriptionHandler ¶
type CreateSubscriptionHandler = httptransport.Handler[CreateSubscriptionRequest, CreateSubscriptionResponse]
type CreateSubscriptionRequest ¶
type CreateSubscriptionRequest = plansubscription.CreateSubscriptionRequest
type CreateSubscriptionResponse ¶
type CreateSubscriptionResponse = api.BillingSubscription
type EditSubscriptionHandler ¶
type EditSubscriptionHandler = httptransport.HandlerWithArgs[EditSubscriptionRequest, EditSubscriptionResponse, EditSubscriptionParams]
type EditSubscriptionParams ¶
type EditSubscriptionParams = string
type EditSubscriptionRequest ¶
type EditSubscriptionRequest struct {
ID models.NamespacedID
Customizations []subscription.Patch
Timing subscription.Timing
}
type EditSubscriptionResponse ¶
type EditSubscriptionResponse = api.BillingSubscription
type GetSubscriptionHandler ¶
type GetSubscriptionHandler httptransport.HandlerWithArgs[GetSubscriptionRequest, GetSubscriptionResponse, GetSubscriptionParams]
type GetSubscriptionParams ¶
type GetSubscriptionParams = string
type GetSubscriptionRequest ¶
type GetSubscriptionRequest = models.NamespacedID
type GetSubscriptionResponse ¶
type GetSubscriptionResponse = api.BillingSubscription
type Handler ¶
type Handler interface {
ListSubscriptions() ListSubscriptionsHandler
GetSubscription() GetSubscriptionHandler
CreateSubscription() CreateSubscriptionHandler
CancelSubscription() CancelSubscriptionHandler
UnscheduleCancelation() UnscheduleCancelationHandler
UnscheduleSubscription() UnscheduleSubscriptionHandler
RestoreSubscription() RestoreSubscriptionHandler
ChangeSubscription() ChangeSubscriptionHandler
MigrateSubscription() MigrateSubscriptionHandler
EditSubscription() EditSubscriptionHandler
}
func New ¶
func New( resolveNamespace func(ctx context.Context) (string, error), customerService customer.Service, planService plan.Service, planSubscriptionService plansubscription.PlanSubscriptionService, subscriptionService subscription.Service, subscriptionWorkflowService subscriptionworkflow.Service, options ...httptransport.HandlerOption, ) Handler
type ListSubscriptionsHandler ¶
type ListSubscriptionsHandler = httptransport.HandlerWithArgs[ListSubscriptionsRequest, ListSubscriptionsResponse, ListSubscriptionsParams]
type ListSubscriptionsParams ¶
type ListSubscriptionsParams = api.ListSubscriptionsParams
type ListSubscriptionsRequest ¶
type ListSubscriptionsRequest = subscription.ListSubscriptionsInput
type ListSubscriptionsResponse ¶
type ListSubscriptionsResponse = response.PagePaginationResponse[api.BillingSubscription]
type MigrateSubscriptionHandler ¶
type MigrateSubscriptionHandler httptransport.HandlerWithArgs[MigrateSubscriptionRequest, MigrateSubscriptionResponse, MigrateSubscriptionParams]
type MigrateSubscriptionParams ¶
type MigrateSubscriptionParams = string
type MigrateSubscriptionRequest ¶
type MigrateSubscriptionRequest = plansubscription.MigrateSubscriptionRequest
type MigrateSubscriptionResponse ¶
type MigrateSubscriptionResponse = api.BillingSubscriptionMigrateResponse
type RestoreSubscriptionHandler ¶
type RestoreSubscriptionHandler httptransport.HandlerWithArgs[RestoreSubscriptionRequest, RestoreSubscriptionResponse, RestoreSubscriptionParams]
type RestoreSubscriptionParams ¶
type RestoreSubscriptionParams = string
type RestoreSubscriptionRequest ¶
type RestoreSubscriptionRequest = models.NamespacedID
type RestoreSubscriptionResponse ¶
type RestoreSubscriptionResponse = api.BillingSubscription
type UnscheduleCancelationHandler ¶
type UnscheduleCancelationHandler httptransport.HandlerWithArgs[UnscheduleCancelationRequest, UnscheduleCancelationResponse, UnscheduleCancelationParams]
type UnscheduleCancelationParams ¶
type UnscheduleCancelationParams = string
type UnscheduleCancelationRequest ¶
type UnscheduleCancelationRequest = models.NamespacedID
type UnscheduleCancelationResponse ¶
type UnscheduleCancelationResponse = api.BillingSubscription
type UnscheduleSubscriptionHandler ¶
type UnscheduleSubscriptionHandler httptransport.HandlerWithArgs[UnscheduleSubscriptionRequest, UnscheduleSubscriptionResponse, UnscheduleSubscriptionParams]
type UnscheduleSubscriptionParams ¶
type UnscheduleSubscriptionParams = string
type UnscheduleSubscriptionRequest ¶
type UnscheduleSubscriptionRequest = models.NamespacedID
type UnscheduleSubscriptionResponse ¶
type UnscheduleSubscriptionResponse = any