Skip to content

module ​

go
import "github.com/prescriptoo/prescriptoo-api/services/subscription/module"

Package module composes persistent Subscription capabilities.

Index ​

type Capabilities ​

Capabilities holds curated operation interfaces for composition-root injection.

go
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.

go
type MockCurrentSubscriptions struct{}

func (MockCurrentSubscriptions) CurrentSubscriptions ​

go
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.

go
type Module struct {
    // contains filtered or unexported fields
}

func NewModule ​

go
func NewModule(_ events.Bus) *Module

NewModule constructs the operation with its selected billing dependencies.

func (*Module) Billing ​

go
func (m *Module) Billing() Capabilities

Billing returns independent curated interfaces, not the service module.

func (*Module) ConfigurePersistence ​

go
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 ​

go
func (m *Module) CurrentSubscriptions() p.CurrentSubscriptions

CurrentSubscriptions batches authoritative agreement projections without fixture fallback.

func (*Module) OrganizationBilling ​

go
func (m *Module) OrganizationBilling() p.OrganizationBillingReader

OrganizationBilling exposes the selected persistent billing capability.

func (*Module) RegisterHuma ​

go
func (m *Module) RegisterHuma(api huma.API)

RegisterHuma publishes public plan contracts instead of the legacy HTTP handlers.

func (*Module) Subscriptions ​

go
func (m *Module) Subscriptions() p.SubscriptionService

Subscriptions exposes the selected persistent billing capability.

func (*Module) TransactionServices ​

go
func (m *Module) TransactionServices() p.TransactionServices

TransactionServices exposes the selected persistent billing capability.

Generated by gomarkdoc

Documentation follows the source. Planned contracts are marked explicitly.