hooks

package
v0.0.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package hooks provides subscription-specific hook types and registry.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AfterAddOnAttachHook

type AfterAddOnAttachHook func(ctx context.Context, subID, addOnID xid.ID) error

AfterAddOnAttachHook is called after attaching an add-on

type AfterAddOnDetachHook

type AfterAddOnDetachHook func(ctx context.Context, subID, addOnID xid.ID) error

AfterAddOnDetachHook is called after detaching an add-on

type AfterPlanChangeHook

type AfterPlanChangeHook func(ctx context.Context, subID xid.ID, oldPlanID, newPlanID xid.ID) error

AfterPlanChangeHook is called after changing plans

type AfterSubscriptionCancelHook

type AfterSubscriptionCancelHook func(ctx context.Context, subID xid.ID) error

AfterSubscriptionCancelHook is called after canceling a subscription

type AfterSubscriptionCreateHook

type AfterSubscriptionCreateHook func(ctx context.Context, subscription *core.Subscription) error

AfterSubscriptionCreateHook is called after creating a subscription

type AfterSubscriptionPauseHook

type AfterSubscriptionPauseHook func(ctx context.Context, subID xid.ID) error

AfterSubscriptionPauseHook is called after pausing a subscription

type AfterSubscriptionResumeHook

type AfterSubscriptionResumeHook func(ctx context.Context, subID xid.ID) error

AfterSubscriptionResumeHook is called after resuming a subscription

type AfterSubscriptionUpdateHook

type AfterSubscriptionUpdateHook func(ctx context.Context, subscription *core.Subscription) error

AfterSubscriptionUpdateHook is called after updating a subscription

type BeforeAddOnAttachHook

type BeforeAddOnAttachHook func(ctx context.Context, subID, addOnID xid.ID, quantity int) error

BeforeAddOnAttachHook is called before attaching an add-on

type BeforeAddOnDetachHook

type BeforeAddOnDetachHook func(ctx context.Context, subID, addOnID xid.ID) error

BeforeAddOnDetachHook is called before detaching an add-on

type BeforePlanChangeHook

type BeforePlanChangeHook func(ctx context.Context, subID, oldPlanID, newPlanID xid.ID) error

BeforePlanChangeHook is called before changing plans

type BeforeSubscriptionCancelHook

type BeforeSubscriptionCancelHook func(ctx context.Context, subID xid.ID, immediate bool) error

BeforeSubscriptionCancelHook is called before canceling a subscription

type BeforeSubscriptionCreateHook

type BeforeSubscriptionCreateHook func(ctx context.Context, orgID, planID xid.ID) error

BeforeSubscriptionCreateHook is called before creating a subscription

type BeforeSubscriptionPauseHook

type BeforeSubscriptionPauseHook func(ctx context.Context, subID xid.ID) error

BeforeSubscriptionPauseHook is called before pausing a subscription

type BeforeSubscriptionResumeHook

type BeforeSubscriptionResumeHook func(ctx context.Context, subID xid.ID) error

BeforeSubscriptionResumeHook is called before resuming a subscription

type BeforeSubscriptionUpdateHook

type BeforeSubscriptionUpdateHook func(ctx context.Context, subID xid.ID, req *core.UpdateSubscriptionRequest) error

BeforeSubscriptionUpdateHook is called before updating a subscription

type OnInvoiceCreatedHook

type OnInvoiceCreatedHook func(ctx context.Context, invoiceID xid.ID) error

OnInvoiceCreatedHook is called when an invoice is created

type OnInvoicePaidHook

type OnInvoicePaidHook func(ctx context.Context, invoiceID xid.ID) error

OnInvoicePaidHook is called when an invoice is paid

type OnPaymentFailedHook

type OnPaymentFailedHook func(ctx context.Context, subID, invoiceID xid.ID, amount int64, currency string, failureReason string) error

OnPaymentFailedHook is called when a payment fails

type OnPaymentSuccessHook

type OnPaymentSuccessHook func(ctx context.Context, subID, invoiceID xid.ID, amount int64, currency string) error

OnPaymentSuccessHook is called when a payment succeeds

type OnSubscriptionStatusChangeHook

type OnSubscriptionStatusChangeHook func(ctx context.Context, subID xid.ID, oldStatus, newStatus core.SubscriptionStatus) error

OnSubscriptionStatusChangeHook is called when a subscription status changes

type OnTrialEndedHook

type OnTrialEndedHook func(ctx context.Context, subID xid.ID) error

OnTrialEndedHook is called when a trial has ended

type OnTrialEndingHook

type OnTrialEndingHook func(ctx context.Context, subID xid.ID, daysRemaining int) error

OnTrialEndingHook is called when a trial is about to end (typically 3 days before)

type OnUsageLimitApproachingHook

type OnUsageLimitApproachingHook func(ctx context.Context, orgID xid.ID, metricKey string, percentUsed float64) error

OnUsageLimitApproachingHook is called when usage is approaching a limit

type OnUsageLimitExceededHook

type OnUsageLimitExceededHook func(ctx context.Context, orgID xid.ID, metricKey string, currentUsage, limit int64) error

OnUsageLimitExceededHook is called when usage exceeds a limit

type SubscriptionHookRegistry

type SubscriptionHookRegistry struct {
	// contains filtered or unexported fields
}

SubscriptionHookRegistry manages subscription-specific hooks

func NewSubscriptionHookRegistry

func NewSubscriptionHookRegistry() *SubscriptionHookRegistry

NewSubscriptionHookRegistry creates a new hook registry

func (*SubscriptionHookRegistry) ExecuteAfterPlanChange

func (r *SubscriptionHookRegistry) ExecuteAfterPlanChange(ctx context.Context, subID, oldPlanID, newPlanID xid.ID) error

func (*SubscriptionHookRegistry) ExecuteAfterSubscriptionCancel

func (r *SubscriptionHookRegistry) ExecuteAfterSubscriptionCancel(ctx context.Context, subID xid.ID) error

func (*SubscriptionHookRegistry) ExecuteAfterSubscriptionCreate

func (r *SubscriptionHookRegistry) ExecuteAfterSubscriptionCreate(ctx context.Context, sub *core.Subscription) error

func (*SubscriptionHookRegistry) ExecuteAfterSubscriptionUpdate

func (r *SubscriptionHookRegistry) ExecuteAfterSubscriptionUpdate(ctx context.Context, sub *core.Subscription) error

func (*SubscriptionHookRegistry) ExecuteBeforePlanChange

func (r *SubscriptionHookRegistry) ExecuteBeforePlanChange(ctx context.Context, subID, oldPlanID, newPlanID xid.ID) error

func (*SubscriptionHookRegistry) ExecuteBeforeSubscriptionCancel

func (r *SubscriptionHookRegistry) ExecuteBeforeSubscriptionCancel(ctx context.Context, subID xid.ID, immediate bool) error

func (*SubscriptionHookRegistry) ExecuteBeforeSubscriptionCreate

func (r *SubscriptionHookRegistry) ExecuteBeforeSubscriptionCreate(ctx context.Context, orgID, planID xid.ID) error

func (*SubscriptionHookRegistry) ExecuteBeforeSubscriptionUpdate

func (r *SubscriptionHookRegistry) ExecuteBeforeSubscriptionUpdate(ctx context.Context, subID xid.ID, req *core.UpdateSubscriptionRequest) error

func (*SubscriptionHookRegistry) ExecuteOnPaymentFailed

func (r *SubscriptionHookRegistry) ExecuteOnPaymentFailed(ctx context.Context, subID, invoiceID xid.ID, amount int64, currency string, reason string) error

func (*SubscriptionHookRegistry) ExecuteOnPaymentSuccess

func (r *SubscriptionHookRegistry) ExecuteOnPaymentSuccess(ctx context.Context, subID, invoiceID xid.ID, amount int64, currency string) error

func (*SubscriptionHookRegistry) ExecuteOnStatusChange

func (r *SubscriptionHookRegistry) ExecuteOnStatusChange(ctx context.Context, subID xid.ID, oldStatus, newStatus core.SubscriptionStatus) error

func (*SubscriptionHookRegistry) ExecuteOnTrialEnding

func (r *SubscriptionHookRegistry) ExecuteOnTrialEnding(ctx context.Context, subID xid.ID, daysRemaining int) error

func (*SubscriptionHookRegistry) ExecuteOnUsageLimitApproaching

func (r *SubscriptionHookRegistry) ExecuteOnUsageLimitApproaching(ctx context.Context, orgID xid.ID, metricKey string, percentUsed float64) error

func (*SubscriptionHookRegistry) ExecuteOnUsageLimitExceeded

func (r *SubscriptionHookRegistry) ExecuteOnUsageLimitExceeded(ctx context.Context, orgID xid.ID, metricKey string, currentUsage, limit int64) error

func (*SubscriptionHookRegistry) RegisterAfterPlanChange

func (r *SubscriptionHookRegistry) RegisterAfterPlanChange(hook AfterPlanChangeHook)

func (*SubscriptionHookRegistry) RegisterAfterSubscriptionCancel

func (r *SubscriptionHookRegistry) RegisterAfterSubscriptionCancel(hook AfterSubscriptionCancelHook)

func (*SubscriptionHookRegistry) RegisterAfterSubscriptionCreate

func (r *SubscriptionHookRegistry) RegisterAfterSubscriptionCreate(hook AfterSubscriptionCreateHook)

func (*SubscriptionHookRegistry) RegisterAfterSubscriptionUpdate

func (r *SubscriptionHookRegistry) RegisterAfterSubscriptionUpdate(hook AfterSubscriptionUpdateHook)

func (*SubscriptionHookRegistry) RegisterBeforePlanChange

func (r *SubscriptionHookRegistry) RegisterBeforePlanChange(hook BeforePlanChangeHook)

func (*SubscriptionHookRegistry) RegisterBeforeSubscriptionCancel

func (r *SubscriptionHookRegistry) RegisterBeforeSubscriptionCancel(hook BeforeSubscriptionCancelHook)

func (*SubscriptionHookRegistry) RegisterBeforeSubscriptionCreate

func (r *SubscriptionHookRegistry) RegisterBeforeSubscriptionCreate(hook BeforeSubscriptionCreateHook)

func (*SubscriptionHookRegistry) RegisterBeforeSubscriptionUpdate

func (r *SubscriptionHookRegistry) RegisterBeforeSubscriptionUpdate(hook BeforeSubscriptionUpdateHook)

func (*SubscriptionHookRegistry) RegisterOnPaymentFailed

func (r *SubscriptionHookRegistry) RegisterOnPaymentFailed(hook OnPaymentFailedHook)

func (*SubscriptionHookRegistry) RegisterOnPaymentSuccess

func (r *SubscriptionHookRegistry) RegisterOnPaymentSuccess(hook OnPaymentSuccessHook)

func (*SubscriptionHookRegistry) RegisterOnStatusChange

func (r *SubscriptionHookRegistry) RegisterOnStatusChange(hook OnSubscriptionStatusChangeHook)

func (*SubscriptionHookRegistry) RegisterOnTrialEnded

func (r *SubscriptionHookRegistry) RegisterOnTrialEnded(hook OnTrialEndedHook)

func (*SubscriptionHookRegistry) RegisterOnTrialEnding

func (r *SubscriptionHookRegistry) RegisterOnTrialEnding(hook OnTrialEndingHook)

func (*SubscriptionHookRegistry) RegisterOnUsageLimitApproaching

func (r *SubscriptionHookRegistry) RegisterOnUsageLimitApproaching(hook OnUsageLimitApproachingHook)

func (*SubscriptionHookRegistry) RegisterOnUsageLimitExceeded

func (r *SubscriptionHookRegistry) RegisterOnUsageLimitExceeded(hook OnUsageLimitExceededHook)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL