File size: 1,405 Bytes
1f10f31 | 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 | package subscriptionaddons
import (
"context"
"github.com/openmeterio/openmeter/openmeter/subscription"
subscriptionaddon "github.com/openmeterio/openmeter/openmeter/subscription/addon"
subscriptionworkflow "github.com/openmeterio/openmeter/openmeter/subscription/workflow"
"github.com/openmeterio/openmeter/pkg/framework/transport/httptransport"
)
type Handler interface {
CreateSubscriptionAddon() CreateSubscriptionAddonHandler
ListSubscriptionAddons() ListSubscriptionAddonsHandler
GetSubscriptionAddon() GetSubscriptionAddonHandler
}
type handler struct {
resolveNamespace func(ctx context.Context) (string, error)
addonService subscriptionaddon.Service
subscriptionService subscription.Service
subscriptionWorkflowService subscriptionworkflow.Service
options []httptransport.HandlerOption
}
func New(
resolveNamespace func(ctx context.Context) (string, error),
addonService subscriptionaddon.Service,
subscriptionService subscription.Service,
subscriptionWorkflowService subscriptionworkflow.Service,
options ...httptransport.HandlerOption,
) Handler {
return &handler{
resolveNamespace: resolveNamespace,
addonService: addonService,
subscriptionService: subscriptionService,
subscriptionWorkflowService: subscriptionWorkflowService,
options: options,
}
}
|