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, } }