Documentation
¶
Index ¶
- Variables
- type Invoice
- type LNProvider
- type Subscription
- type SubscriptionService
- func (s *SubscriptionService) CreateSubscription(ctx context.Context, sub Subscription) (*Subscription, error)
- func (s *SubscriptionService) GetActiveSubscription(ctx context.Context, pubkey string) (*Subscription, error)
- func (s *SubscriptionService) UpdateInvoiceStatus(ctx context.Context, invoiceID string, status SubscriptionStatus) error
- type SubscriptionStatus
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type LNProvider ¶
type Subscription ¶
type Subscription struct { ID int64 `json:"id" db:"id"` Pubkey string `json:"pubkey" db:"pubkey"` Days int `json:"days" db:"days"` Sats int `json:"sats" db:"sats"` InvoiceID string `json:"invoice_id" db:"invoice_id"` Provider string `json:"provider" db:"provider"` Status SubscriptionStatus `json:"status" db:"status"` LightningInvoice string `json:"lightning_invoice" db:"lightning_invoice"` CreatedAt time.Time `json:"created_at" db:"created_at"` ExpiresAt time.Time `json:"expires_at" db:"expires_at"` UpdatedAt *time.Time `json:"updated_at" db:"updated_at"` }
type SubscriptionService ¶
type SubscriptionService struct {
// contains filtered or unexported fields
}
func New ¶
func New(repo subscriptionRepo, ln LNProvider, lnProviderType string) (*SubscriptionService, error)
func (*SubscriptionService) CreateSubscription ¶
func (s *SubscriptionService) CreateSubscription(ctx context.Context, sub Subscription) (*Subscription, error)
func (*SubscriptionService) GetActiveSubscription ¶
func (s *SubscriptionService) GetActiveSubscription(ctx context.Context, pubkey string) (*Subscription, error)
GetActiveSubscription fetches the active subscription for a pubkey. An error is returned if the subscription is not found, unpaid, or expired.
func (*SubscriptionService) UpdateInvoiceStatus ¶
func (s *SubscriptionService) UpdateInvoiceStatus(ctx context.Context, invoiceID string, status SubscriptionStatus) error
type SubscriptionStatus ¶
type SubscriptionStatus string
const ( StatusPaid SubscriptionStatus = "paid" StatusUnpaid SubscriptionStatus = "unpaid" )
Click to show internal directories.
Click to hide internal directories.