module
import "github.com/prescriptoo/prescriptoo-api/services/subscription/module"Package module composes persistent Subscription capabilities.
Index
- type Capabilities
- type MockCurrentSubscriptions
- type Module
- func NewModule(_ events.Bus) *Module
- func (m *Module) Billing() Capabilities
- func (m *Module) ConfigurePersistence(db *pgxpool.Pool, writer audit.TransactionalRecorderFactory, orgs org.BillingOrganizations)
- func (m *Module) CurrentSubscriptions() p.CurrentSubscriptions
- func (m *Module) OrganizationBilling() p.OrganizationBillingReader
- func (m *Module) RegisterHuma(api huma.API)
- func (m *Module) Subscriptions() p.SubscriptionService
- func (m *Module) TransactionServices() p.TransactionServices
type Capabilities
Capabilities holds curated operation interfaces for composition-root injection.
type Capabilities struct {
ListPublicPlans subscriptionpublic.ListPublicPlansCapability
GetPublicPlan subscriptionpublic.GetPublicPlanCapability
ListBillingPlans subscriptionpublic.ListBillingPlansCapability
CreateBillingPlan subscriptionpublic.CreateBillingPlanCapability
GetBillingPlan subscriptionpublic.GetBillingPlanCapability
EditBillingPlan subscriptionpublic.EditBillingPlanCapability
ArchiveBillingPlan subscriptionpublic.ArchiveBillingPlanCapability
ListBillingSubscriptions subscriptionpublic.ListBillingSubscriptionsCapability
CreateBillingSubscription subscriptionpublic.CreateBillingSubscriptionCapability
GetBillingSubscription subscriptionpublic.GetBillingSubscriptionCapability
EditBillingSubscription subscriptionpublic.EditBillingSubscriptionCapability
DeleteBillingSubscription subscriptionpublic.DeleteBillingSubscriptionCapability
ExtendBillingSubscription subscriptionpublic.ExtendBillingSubscriptionCapability
ListBillingInvoices subscriptionpublic.ListBillingInvoicesCapability
CreateBillingInvoice subscriptionpublic.CreateBillingInvoiceCapability
ListSubscriptionInvoices subscriptionpublic.ListSubscriptionInvoicesCapability
GetBillingInvoice subscriptionpublic.GetBillingInvoiceCapability
EditBillingInvoice subscriptionpublic.EditBillingInvoiceCapability
IssueBillingInvoice subscriptionpublic.IssueBillingInvoiceCapability
VoidBillingInvoice subscriptionpublic.VoidBillingInvoiceCapability
ListBillingPayments subscriptionpublic.ListBillingPaymentsCapability
RecordBillingPayment subscriptionpublic.RecordBillingPaymentCapability
ListInvoicePayments subscriptionpublic.ListInvoicePaymentsCapability
GetBillingPayment subscriptionpublic.GetBillingPaymentCapability
VoidBillingPayment subscriptionpublic.VoidBillingPaymentCapability
}type MockCurrentSubscriptions
MockCurrentSubscriptions supplies deterministic display-only billing snapshots. It never persists billing state or grants entitlements.
type MockCurrentSubscriptions struct{}func (MockCurrentSubscriptions) CurrentSubscriptions
func (MockCurrentSubscriptions) CurrentSubscriptions(_ context.Context, ids []string) (map[string]p.CurrentSubscription, error)CurrentSubscriptions builds deterministic display-only snapshots for the supplied organization IDs. Callers establish that organizations really exist first; this provider does not read or persist subscriptions and cannot grant access or capacity.
Each call allocates fresh subscriptions and feature maps so a consumer cannot mutate another response. IDs and periods are fixed fixtures, not current billing state, and every result explicitly retains IsMock=true.
type Module
Module exposes the selected persistent billing capability.
type Module struct {
// contains filtered or unexported fields
}func NewModule
func NewModule(_ events.Bus) *ModuleNewModule constructs the operation with its selected billing dependencies.
func (*Module) Billing
func (m *Module) Billing() CapabilitiesBilling returns independent curated interfaces, not the service module.
func (*Module) ConfigurePersistence
func (m *Module) ConfigurePersistence(db *pgxpool.Pool, writer audit.TransactionalRecorderFactory, orgs org.BillingOrganizations)ConfigurePersistence is called once before routes or capabilities are served.
func (*Module) CurrentSubscriptions
func (m *Module) CurrentSubscriptions() p.CurrentSubscriptionsCurrentSubscriptions batches authoritative agreement projections without fixture fallback.
func (*Module) OrganizationBilling
func (m *Module) OrganizationBilling() p.OrganizationBillingReaderOrganizationBilling exposes the selected persistent billing capability.
func (*Module) RegisterHuma
func (m *Module) RegisterHuma(api huma.API)RegisterHuma publishes public plan contracts instead of the legacy HTTP handlers.
func (*Module) Subscriptions
func (m *Module) Subscriptions() p.SubscriptionServiceSubscriptions exposes the selected persistent billing capability.
func (*Module) TransactionServices
func (m *Module) TransactionServices() p.TransactionServicesTransactionServices exposes the selected persistent billing capability.
Generated by gomarkdoc