package addons import ( "context" "github.com/openmeterio/openmeter/openmeter/productcatalog/addon" "github.com/openmeterio/openmeter/pkg/framework/transport/httptransport" ) type Handler interface { CreateAddon() CreateAddonHandler DeleteAddon() DeleteAddonHandler GetAddon() GetAddonHandler ListAddons() ListAddonsHandler UpdateAddon() UpdateAddonHandler PublishAddon() PublishAddonHandler ArchiveAddon() ArchiveAddonHandler } type handler struct { resolveNamespace func(ctx context.Context) (string, error) service addon.Service options []httptransport.HandlerOption } func New( resolveNamespace func(ctx context.Context) (string, error), service addon.Service, options ...httptransport.HandlerOption, ) Handler { return &handler{ resolveNamespace: resolveNamespace, service: service, options: options, } }