subscription

package
v1.4.5-alpha1 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2019 License: MPL-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package subscription implements base subscription functionality

Index

Constants

View Source
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

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

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

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

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

ListSubscriptions returns list of subscription model items in the Subscription Collection

func (*DefaultSubscriptionCollection) New

New returns new instance of model implementation object for the Subscription Collection

Jump to

Keyboard shortcuts

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