Documentation ¶
Overview ¶
Package subscription implements base subscription functionality
Index ¶
- Constants
- func APICheckCheckoutSubscription(context api.InterfaceApplicationContext) (interface{}, error)
- func APIGetSubscription(context api.InterfaceApplicationContext) (interface{}, error)
- func APIListSubscriptions(context api.InterfaceApplicationContext) (interface{}, error)
- func APIListVisitorSubscriptions(context api.InterfaceApplicationContext) (interface{}, error)
- func APIUpdateSubscription(context api.InterfaceApplicationContext) (interface{}, error)
- func APIUpdateSubscriptionInfo(context api.InterfaceApplicationContext) (interface{}, error)
- type DefaultSubscription
- func (it *DefaultSubscription) Delete() error
- func (it *DefaultSubscription) FromHashMap(input map[string]interface{}) error
- func (it *DefaultSubscription) Get(attribute string) interface{}
- func (it *DefaultSubscription) GetActionDate() time.Time
- func (it *DefaultSubscription) GetAttributesInfo() []models.StructAttributeInfo
- func (it *DefaultSubscription) GetBillingAddress() visitor.InterfaceVisitorAddress
- func (it *DefaultSubscription) GetCheckout() (checkout.InterfaceCheckout, error)
- func (it *DefaultSubscription) GetCollection() models.InterfaceCollection
- func (it *DefaultSubscription) GetCreditCard() visitor.InterfaceVisitorCard
- func (it *DefaultSubscription) GetCustomerEmail() string
- func (it *DefaultSubscription) GetCustomerName() string
- func (it *DefaultSubscription) GetID() string
- func (it *DefaultSubscription) GetImplementationName() string
- func (it *DefaultSubscription) GetInfo(key string) interface{}
- func (it *DefaultSubscription) GetItems() []subscription.StructSubscriptionItem
- func (it *DefaultSubscription) GetModelName() string
- func (it *DefaultSubscription) GetOrderID() string
- func (it *DefaultSubscription) GetPaymentMethod() checkout.InterfacePaymentMethod
- func (it *DefaultSubscription) GetPeriod() int
- func (it *DefaultSubscription) GetShippingAddress() visitor.InterfaceVisitorAddress
- func (it *DefaultSubscription) GetShippingMethod() checkout.InterfaceShippingMethod
- func (it *DefaultSubscription) GetShippingRate() checkout.StructShippingRate
- func (it *DefaultSubscription) GetStatus() string
- func (it *DefaultSubscription) GetVisitorID() string
- func (it *DefaultSubscription) Load(ID string) error
- func (it *DefaultSubscription) New() (models.InterfaceModel, error)
- func (it *DefaultSubscription) Save() error
- func (it *DefaultSubscription) Set(attribute string, value interface{}) error
- func (it *DefaultSubscription) SetActionDate(actionDate time.Time) error
- func (it *DefaultSubscription) SetBillingAddress(address visitor.InterfaceVisitorAddress) error
- func (it *DefaultSubscription) SetCreditCard(creditCard visitor.InterfaceVisitorCard) error
- func (it *DefaultSubscription) SetID(NewID string) error
- func (it *DefaultSubscription) SetInfo(key string, value interface{})
- func (it *DefaultSubscription) SetPeriod(days int) error
- func (it *DefaultSubscription) SetShippingAddress(address visitor.InterfaceVisitorAddress) error
- func (it *DefaultSubscription) SetShippingMethod(shippingMethod checkout.InterfaceShippingMethod) error
- func (it *DefaultSubscription) SetShippingRate(shippingRate checkout.StructShippingRate) error
- func (it *DefaultSubscription) SetStatus(status string) error
- func (it *DefaultSubscription) ToHashMap() map[string]interface{}
- func (it *DefaultSubscription) UpdateActionDate() error
- func (it *DefaultSubscription) Validate() error
- type DefaultSubscriptionCollection
- func (it *DefaultSubscriptionCollection) GetDBCollection() db.InterfaceDBCollection
- func (it *DefaultSubscriptionCollection) GetImplementationName() string
- func (it *DefaultSubscriptionCollection) GetModelName() string
- func (it *DefaultSubscriptionCollection) List() ([]models.StructListItem, error)
- func (it *DefaultSubscriptionCollection) ListAddExtraAttribute(attribute string) error
- func (it *DefaultSubscriptionCollection) ListFilterAdd(Attribute string, Operator string, Value interface{}) error
- func (it *DefaultSubscriptionCollection) ListFilterReset() error
- func (it *DefaultSubscriptionCollection) ListLimit(offset int, limit int) error
- func (it *DefaultSubscriptionCollection) ListSubscriptions() []subscription.InterfaceSubscription
- func (it *DefaultSubscriptionCollection) New() (models.InterfaceModel, error)
Constants ¶
const ( ConstErrorModule = "subscription" ConstErrorLevel = env.ConstErrorLevelActor ConstCollectionNameSubscription = "subscription" ConstTimeDay = time.Hour * 24 ConstSchedulerTaskName = "subscriptionProcess" )
Package global constants
Variables ¶
This section is empty.
Functions ¶
func APICheckCheckoutSubscription ¶
func APICheckCheckoutSubscription(context api.InterfaceApplicationContext) (interface{}, error)
APICheckCheckoutSubscription provide check is current checkout allows to create new subscription
func APIGetSubscription ¶
func APIGetSubscription(context api.InterfaceApplicationContext) (interface{}, error)
APIGetSubscription return specified subscription information
- subscription id should be specified in "id" argument
func APIListSubscriptions ¶
func APIListSubscriptions(context api.InterfaceApplicationContext) (interface{}, error)
APIListSubscriptions returns a list of subscriptions for visitor
- if "action" parameter is set to "count" result value will be just a number of list items
func APIListVisitorSubscriptions ¶
func APIListVisitorSubscriptions(context api.InterfaceApplicationContext) (interface{}, error)
APIListVisitorSubscriptions returns a list of subscriptions for visitor
- if "action" parameter is set to "count" result value will be just a number of list items
func APIUpdateSubscription ¶
func APIUpdateSubscription(context api.InterfaceApplicationContext) (interface{}, error)
APIUpdateSubscription allows to change status of subscription for visitor and for administrator
func APIUpdateSubscriptionInfo ¶
func APIUpdateSubscriptionInfo(context api.InterfaceApplicationContext) (interface{}, error)
APIUpdateSubscriptionInfo allows run and update info of all existing subscriptions
- if id is provided in request it is used to filter category
Types ¶
type DefaultSubscription ¶
type DefaultSubscription struct { VisitorID string OrderID string CustomerEmail string CustomerName string Status string State string ActionDate time.Time Period int ShippingAddress map[string]interface{} BillingAddress map[string]interface{} ShippingMethodCode string ShippingRate checkout.StructShippingRate // should be stored credit card info with payment method in it PaymentInstrument map[string]interface{} LastSubmit time.Time CreatedAt time.Time UpdatedAt time.Time Info map[string]interface{} // contains filtered or unexported fields }
DefaultSubscription struct to hold subscription information and represent default implementer of InterfaceSubscription
func (*DefaultSubscription) Delete ¶
func (it *DefaultSubscription) Delete() error
Delete removes current Subscription from the database
func (*DefaultSubscription) FromHashMap ¶
func (it *DefaultSubscription) FromHashMap(input map[string]interface{}) error
FromHashMap fills Subscription object attributes from a map[string]interface{}
func (*DefaultSubscription) Get ¶
func (it *DefaultSubscription) Get(attribute string) interface{}
Get returns object attribute value or nil for the requested Subscription attribute
func (*DefaultSubscription) GetActionDate ¶
func (it *DefaultSubscription) GetActionDate() time.Time
GetActionDate returns the date of next action
func (*DefaultSubscription) GetAttributesInfo ¶
func (it *DefaultSubscription) GetAttributesInfo() []models.StructAttributeInfo
GetAttributesInfo returns the Subscription attributes information in an array TODO: finish list of attributes
func (*DefaultSubscription) GetBillingAddress ¶
func (it *DefaultSubscription) GetBillingAddress() visitor.InterfaceVisitorAddress
GetBillingAddress returns subscription billing address
func (*DefaultSubscription) GetCheckout ¶
func (it *DefaultSubscription) GetCheckout() (checkout.InterfaceCheckout, error)
GetCheckout return checkout object created from subscription
func (*DefaultSubscription) GetCollection ¶
func (it *DefaultSubscription) GetCollection() models.InterfaceCollection
GetCollection returns collection of current instance type
func (*DefaultSubscription) GetCreditCard ¶
func (it *DefaultSubscription) GetCreditCard() visitor.InterfaceVisitorCard
GetCreditCard sets payment method for subscription
func (*DefaultSubscription) GetCustomerEmail ¶
func (it *DefaultSubscription) GetCustomerEmail() string
GetCustomerEmail returns subscriber e-mail
func (*DefaultSubscription) GetCustomerName ¶
func (it *DefaultSubscription) GetCustomerName() string
GetCustomerName returns name of subscriber
func (*DefaultSubscription) GetID ¶
func (it *DefaultSubscription) GetID() string
GetID returns current ID of the Subscription
func (*DefaultSubscription) GetImplementationName ¶
func (it *DefaultSubscription) GetImplementationName() string
GetImplementationName returns model implementation name for the Subscription
func (*DefaultSubscription) GetInfo ¶
func (it *DefaultSubscription) GetInfo(key string) interface{}
GetInfo returns additional subscription info value or nil,
- use "*" as a key to get all keys and values currently set
func (*DefaultSubscription) GetItems ¶
func (it *DefaultSubscription) GetItems() []subscription.StructSubscriptionItem
GetItems return items of subscription
func (*DefaultSubscription) GetModelName ¶
func (it *DefaultSubscription) GetModelName() string
GetModelName returns model name for the Subscription
func (*DefaultSubscription) GetOrderID ¶
func (it *DefaultSubscription) GetOrderID() string
GetOrderID returns the Subscription's Order ID
func (*DefaultSubscription) GetPaymentMethod ¶
func (it *DefaultSubscription) GetPaymentMethod() checkout.InterfacePaymentMethod
GetPaymentMethod returns subscription payment method
func (*DefaultSubscription) GetPeriod ¶
func (it *DefaultSubscription) GetPeriod() int
GetPeriod returns the Subscription action
func (*DefaultSubscription) GetShippingAddress ¶
func (it *DefaultSubscription) GetShippingAddress() visitor.InterfaceVisitorAddress
GetShippingAddress returns subscription shipping address
func (*DefaultSubscription) GetShippingMethod ¶
func (it *DefaultSubscription) GetShippingMethod() checkout.InterfaceShippingMethod
GetShippingMethod returns a subscription shipping method
func (*DefaultSubscription) GetShippingRate ¶
func (it *DefaultSubscription) GetShippingRate() checkout.StructShippingRate
GetShippingRate returns a subscription shipping rate
func (*DefaultSubscription) GetStatus ¶
func (it *DefaultSubscription) GetStatus() string
GetStatus returns the Subscription status
func (*DefaultSubscription) GetVisitorID ¶
func (it *DefaultSubscription) GetVisitorID() string
GetVisitorID returns the Subscription's Visitor ID
func (*DefaultSubscription) Load ¶
func (it *DefaultSubscription) Load(ID string) error
Load will retrieve the Subscription information from database
func (*DefaultSubscription) New ¶
func (it *DefaultSubscription) New() (models.InterfaceModel, error)
New returns new instance of model implementation object for the Subscription
func (*DefaultSubscription) Save ¶
func (it *DefaultSubscription) Save() error
Save stores current Subscription to the database
func (*DefaultSubscription) Set ¶
func (it *DefaultSubscription) Set(attribute string, value interface{}) error
Set will set attribute value of the Subscription to object or return an error
func (*DefaultSubscription) SetActionDate ¶
func (it *DefaultSubscription) SetActionDate(actionDate time.Time) error
SetActionDate set Subscription action date
func (*DefaultSubscription) SetBillingAddress ¶
func (it *DefaultSubscription) SetBillingAddress(address visitor.InterfaceVisitorAddress) error
SetBillingAddress sets billing address for subscription
func (*DefaultSubscription) SetCreditCard ¶
func (it *DefaultSubscription) SetCreditCard(creditCard visitor.InterfaceVisitorCard) error
SetCreditCard sets credit card for subscription
func (*DefaultSubscription) SetID ¶
func (it *DefaultSubscription) SetID(NewID string) error
SetID sets current ID of the current Subscription
func (*DefaultSubscription) SetInfo ¶
func (it *DefaultSubscription) SetInfo(key string, value interface{})
SetInfo sets additional info for subscription
func (*DefaultSubscription) SetPeriod ¶
func (it *DefaultSubscription) SetPeriod(days int) error
SetPeriod set Subscription period
func (*DefaultSubscription) SetShippingAddress ¶
func (it *DefaultSubscription) SetShippingAddress(address visitor.InterfaceVisitorAddress) error
SetShippingAddress sets shipping address for subscription
func (*DefaultSubscription) SetShippingMethod ¶
func (it *DefaultSubscription) SetShippingMethod(shippingMethod checkout.InterfaceShippingMethod) error
SetShippingMethod sets payment method for subscription
func (*DefaultSubscription) SetShippingRate ¶
func (it *DefaultSubscription) SetShippingRate(shippingRate checkout.StructShippingRate) error
SetShippingRate sets shipping rate for subscription
func (*DefaultSubscription) SetStatus ¶
func (it *DefaultSubscription) SetStatus(status string) error
SetStatus set Subscription status
func (*DefaultSubscription) ToHashMap ¶
func (it *DefaultSubscription) ToHashMap() map[string]interface{}
ToHashMap represents Subscription object as map[string]interface{}
func (*DefaultSubscription) UpdateActionDate ¶
func (it *DefaultSubscription) UpdateActionDate() error
UpdateActionDate set Subscription action date
func (*DefaultSubscription) Validate ¶
func (it *DefaultSubscription) Validate() error
Validate allows to validate subscription object for data presence TODO: validate ALL values and their existence
type DefaultSubscriptionCollection ¶
type DefaultSubscriptionCollection struct {
// contains filtered or unexported fields
}
DefaultSubscriptionCollection is a default implementer of InterfaceSubscriptionCollection
func (*DefaultSubscriptionCollection) GetDBCollection ¶
func (it *DefaultSubscriptionCollection) GetDBCollection() db.InterfaceDBCollection
GetDBCollection returns database collection for the Subscription
func (*DefaultSubscriptionCollection) GetImplementationName ¶
func (it *DefaultSubscriptionCollection) GetImplementationName() string
GetImplementationName returns model implementation name for the Subscription Collection
func (*DefaultSubscriptionCollection) GetModelName ¶
func (it *DefaultSubscriptionCollection) GetModelName() string
GetModelName returns model name for the Subscription Collection
func (*DefaultSubscriptionCollection) List ¶
func (it *DefaultSubscriptionCollection) List() ([]models.StructListItem, error)
List enumerates items of Subscription model type in a Subscription collection
func (*DefaultSubscriptionCollection) ListAddExtraAttribute ¶
func (it *DefaultSubscriptionCollection) ListAddExtraAttribute(attribute string) error
ListAddExtraAttribute provides the ability to add additional attributes if the attribute does not already exist
func (*DefaultSubscriptionCollection) ListFilterAdd ¶
func (it *DefaultSubscriptionCollection) ListFilterAdd(Attribute string, Operator string, Value interface{}) error
ListFilterAdd provides the ability to add a selection filter to List() function
func (*DefaultSubscriptionCollection) ListFilterReset ¶
func (it *DefaultSubscriptionCollection) ListFilterReset() error
ListFilterReset clears the presets made by ListFilterAdd() and ListAddExtraAttribute() functions
func (*DefaultSubscriptionCollection) ListLimit ¶
func (it *DefaultSubscriptionCollection) ListLimit(offset int, limit int) error
ListLimit sets the pagination when provided offset and limit values
func (*DefaultSubscriptionCollection) ListSubscriptions ¶
func (it *DefaultSubscriptionCollection) ListSubscriptions() []subscription.InterfaceSubscription
ListSubscriptions returns list of subscription model items in the Subscription Collection
func (*DefaultSubscriptionCollection) New ¶
func (it *DefaultSubscriptionCollection) New() (models.InterfaceModel, error)
New returns new instance of model implementation object for the Subscription Collection