Documentation
¶
Overview ¶
Package subscription represents abstraction of business layer purchase subscription object
Index ¶
- Constants
- func ContainsSubscriptionItems(checkoutInstance checkout.InterfaceCheckout) bool
- func GetSubscriptionCronExpr(key int) string
- func GetSubscriptionOptionValues() map[string]int
- func GetSubscriptionPeriodValue(option string) int
- func IsSubscriptionEnabled() bool
- type InterfaceSubscription
- type InterfaceSubscriptionCollection
- type StructSubscriptionItem
Constants ¶
const ( ConstModelNameSubscription = "Subscription" ConstModelNameSubscriptionCollection = "SubscriptionCollection" ConstErrorModule = "subscription" ConstErrorLevel = env.ConstErrorLevelModel ConstSubscriptionOptionName = "subscription" ConstConfigPathSubscription = "general.subscription" ConstConfigPathSubscriptionEnabled = "general.subscription.enabled" ConstConfigPathSubscriptionExecutionTime = "general.subscription.executionTime" ConstConfigPathSubscriptionExecutionOptionHour = "hour" ConstConfigPathSubscriptionExecutionOptionMinute = "minute" ConstConfigPathSubscriptionProducts = "general.subscription.products" // Admin: Out of stock email ConstConfigPathSubscriptionStockEmailSubject = "general.subscription.emailStockSubject" ConstConfigPathSubscriptionStockEmailTemplate = "general.subscription.emailStockTemplate" // Inusfficient funds email ConstConfigPathSubscriptionEmailSubject = "general.subscription.emailSubject" ConstConfigPathSubscriptionEmailTemplate = "general.subscription.emailTemplate" // Cancellation Email ConstConfigPathSubscriptionCancelEmailSubject = "general.subscription.emailCancelSubject" ConstConfigPathSubscriptionCancelEmailTemplate = "general.subscription.emailCancelTemplate" ConstSubscriptionLogStorage = "subscription.log" ConstSubscriptionStatusSuspended = "suspended" ConstSubscriptionStatusConfirmed = "confirmed" ConstSubscriptionStatusCanceled = "canceled" )
Package global constants
Variables ¶
This section is empty.
Functions ¶
func ContainsSubscriptionItems ¶
func ContainsSubscriptionItems(checkoutInstance checkout.InterfaceCheckout) bool
ContainsSubscriptionItems used to check checkout for subscription items
func GetSubscriptionCronExpr ¶
GetSubscriptionCronExpr return cron expression by option value
func GetSubscriptionOptionValues ¶
GetSubscriptionOptionValues return map of known options for subscription
func GetSubscriptionPeriodValue ¶
GetSubscriptionPeriodValue used to obtain valid period value from option value
func IsSubscriptionEnabled ¶
func IsSubscriptionEnabled() bool
IsSubscriptionEnabled return status of subscription
Types ¶
type InterfaceSubscription ¶
type InterfaceSubscription interface {
GetCustomerEmail() string
GetCustomerName() string
GetOrderID() string
GetVisitorID() string
GetItems() []StructSubscriptionItem
SetShippingAddress(address visitor.InterfaceVisitorAddress) error
GetShippingAddress() visitor.InterfaceVisitorAddress
SetBillingAddress(address visitor.InterfaceVisitorAddress) error
GetBillingAddress() visitor.InterfaceVisitorAddress
SetCreditCard(creditCard visitor.InterfaceVisitorCard) error
GetCreditCard() visitor.InterfaceVisitorCard
GetPaymentMethod() checkout.InterfacePaymentMethod
SetShippingMethod(shippingMethod checkout.InterfaceShippingMethod) error
GetShippingMethod() checkout.InterfaceShippingMethod
SetShippingRate(shippingRate checkout.StructShippingRate) error
GetShippingRate() checkout.StructShippingRate
GetStatus() string
SetStatus(status string) error
GetActionDate() time.Time
SetActionDate(actionDate time.Time) error
GetPeriod() int
SetPeriod(days int) error
SetInfo(key string, value interface{})
GetInfo(key string) interface{}
UpdateActionDate() error
Validate() error
GetCheckout() (checkout.InterfaceCheckout, error)
models.InterfaceModel
models.InterfaceObject
models.InterfaceStorable
models.InterfaceListable
}
InterfaceSubscription represents interface to access business layer implementation of purchase subscription object
func GetSubscriptionModel ¶
func GetSubscriptionModel() (InterfaceSubscription, error)
GetSubscriptionModel retrieves current InterfaceSubscription model implementation
func LoadSubscriptionByID ¶
func LoadSubscriptionByID(subscriptionID string) (InterfaceSubscription, error)
LoadSubscriptionByID loads subscription data into current InterfaceSubscription model implementation
type InterfaceSubscriptionCollection ¶
type InterfaceSubscriptionCollection interface {
ListSubscriptions() []InterfaceSubscription
models.InterfaceCollection
}
InterfaceSubscriptionCollection represents interface to access business layer implementation of purchase subscription collection
func GetSubscriptionCollectionModel ¶
func GetSubscriptionCollectionModel() (InterfaceSubscriptionCollection, error)
GetSubscriptionCollectionModel retrieves current InterfaceSubscriptionCollection model implementation
type StructSubscriptionItem ¶
type StructSubscriptionItem struct {
ProductID string `json:"product_id"`
Options map[string]interface{} `json:"options"`
Qty int `json:"qty"`
Name string `json:"name"`
Sku string `json:"sku"`
Price float64 `json:"price"`
}
StructSubscriptionItem hold data related to subscription item