models

package
v0.0.0-...-2237da3 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2017 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	OrderState = transition.New(&Order{})
	ItemState  = transition.New(&OrderItem{})
)

Functions

This section is empty.

Types

type Address

type Address struct {
	gorm.Model
	UserID      uint
	ContactName string `form:"contact-name"`
	Phone       string `form:"phone"`
	City        string `form:"city"`
	Address1    string `form:"address1"`
	Address2    string `form:"address2"`
}

func (Address) Stringify

func (address Address) Stringify() string

type Article

type Article struct {
	gorm.Model
	Author   User
	AuthorID uint
	Title    string
	Content  string `gorm:"type:text"`
	publish2.Version
	publish2.Schedule
	publish2.Visible
}

type AuthIdentity

type AuthIdentity struct {
	gorm.Model
	Provider          string // phone, email, wechat, github...
	UID               string
	EncryptedPassword string
	AuthInfo          AuthInfo
	UserID            string
	State             string // unconfirmed, confirmed, expired

	Password             string `gorm:"-"`
	PasswordConfirmation string `gorm:"-"`
}

type AuthInfo

type AuthInfo struct {
	PhoneVerificationCode       string
	PhoneVerificationCodeExpiry *time.Time
	PhoneConfirmedAt            *time.Time
	UnconfirmedPhone            string // only use when changing phone number

	EmailConfirmedAt *time.Time
	UnconfirmedEmail string // only use when changing email

	SignInCount uint
	SignLogs    []SignLog
}

type AvatarImageStorage

type AvatarImageStorage struct{ oss.OSS }

func (AvatarImageStorage) GetSizes

func (AvatarImageStorage) GetSizes() map[string]*media.Size

type Category

type Category struct {
	gorm.Model
	l10n.Locale
	sorting.Sorting
	Name string
	Code string

	Categories []Category
	CategoryID uint
}

func (Category) DefaultPath

func (category Category) DefaultPath() string

func (Category) Validate

func (category Category) Validate(db *gorm.DB)

type Chart

type Chart struct {
	Total string
	Date  time.Time
}

func GetChartData

func GetChartData(table, start, end string) (res []Chart)

date format 2015-01-23

type Collection

type Collection struct {
	gorm.Model
	Name string
	l10n.LocaleCreatable
}

type Color

type Color struct {
	gorm.Model
	l10n.Locale
	sorting.Sorting
	Name string
	Code string `l10n:"sync"`
}

func (Color) Validate

func (color Color) Validate(db *gorm.DB)

type ColorVariation

type ColorVariation struct {
	gorm.Model
	ProductID      uint
	Product        Product
	ColorID        uint
	Color          Color
	ColorCode      string
	Images         media_library.MediaBox
	SizeVariations []SizeVariation
	publish2.SharedVersion
}

func (ColorVariation) MainImageURL

func (colorVariation ColorVariation) MainImageURL() string

type ColorVariationImage

type ColorVariationImage struct {
	gorm.Model
	ColorVariationID uint
	Image            ColorVariationImageStorage `sql:"type:varchar(4096)"`
}

type ColorVariationImageStorage

type ColorVariationImageStorage struct{ oss.OSS }

func (ColorVariationImageStorage) GetSizes

func (ColorVariationImageStorage) GetSizes() map[string]*media.Size

type FeeSetting

type FeeSetting struct {
	ShippingFee     uint
	GiftWrappingFee uint
	CODFee          uint `gorm:"column:cod_fee"`
	TaxRate         int
}

type Material

type Material struct {
	gorm.Model
	l10n.Locale
	Name string
	Code string `l10n:"sync"`
}

type MediaLibrary

type MediaLibrary struct {
	Title string
	media_library.MediaLibrary
}

type Order

type Order struct {
	gorm.Model
	UserID            uint
	User              User
	PaymentAmount     float32
	AbandonedReason   string
	DiscountValue     uint
	TrackingNumber    *string
	ShippedAt         *time.Time
	ReturnedAt        *time.Time
	CancelledAt       *time.Time
	ShippingAddressID uint `form:"shippingaddress"`
	ShippingAddress   Address
	BillingAddressID  uint `form:"billingaddress"`
	BillingAddress    Address
	OrderItems        []OrderItem
	transition.Transition
}

func (Order) Amount

func (order Order) Amount() (amount float32)

type OrderItem

type OrderItem struct {
	gorm.Model
	OrderID         uint
	SizeVariationID uint `cartitem:"SizeVariationID"`
	SizeVariation   SizeVariation
	Quantity        uint `cartitem:"Quantity"`
	Price           float32
	DiscountRate    uint
	transition.Transition
}

func (OrderItem) Amount

func (item OrderItem) Amount() float32

type Owner

type Owner struct {
	Name    string
	Contact string
	Email   string
}

func (*Owner) Scan

func (owner *Owner) Scan(value interface{}) error

func (Owner) Value

func (owner Owner) Value() (driver.Value, error)

type Product

type Product struct {
	gorm.Model
	l10n.Locale
	sorting.SortingDESC

	Name                  string
	NameWithSlug          slug.Slug    `l10n:"sync"`
	Code                  string       `l10n:"sync"`
	CategoryID            uint         `l10n:"sync"`
	Category              Category     `l10n:"sync"`
	Collections           []Collection `l10n:"sync" gorm:"many2many:product_collections;"`
	MadeCountry           string       `l10n:"sync"`
	Gender                string       `l10n:"sync"`
	MainImage             media_library.MediaBox
	Price                 float32          `l10n:"sync"`
	Description           string           `sql:"size:2000"`
	ColorVariations       []ColorVariation `l10n:"sync"`
	ColorVariationsSorter sorting.SortableCollection
	ProductProperties     ProductProperties `sql:"type:text"`
	Seo                   qor_seo.Setting

	Variations []ProductVariation

	publish2.Version
	publish2.Schedule
	publish2.Visible
}

func (Product) DefaultPath

func (product Product) DefaultPath() string

func (Product) GetSEO

func (product Product) GetSEO() *qor_seo.SEO

func (Product) MainImageURL

func (product Product) MainImageURL(styles ...string) string

func (Product) Validate

func (product Product) Validate(db *gorm.DB)

type ProductImage

type ProductImage struct {
	gorm.Model
	Title        string
	Color        Color
	ColorID      uint
	Category     Category
	CategoryID   uint
	SelectedType string
	File         media_library.MediaLibraryStorage `sql:"size:4294967295;" media_library:"url:/system/{{class}}/{{primary_key}}/{{column}}.{{extension}}"`
}

func (*ProductImage) GetMediaOption

func (productImage *ProductImage) GetMediaOption() (mediaOption media_library.MediaOption)

func (*ProductImage) GetSelectedType

func (productImage *ProductImage) GetSelectedType() string

func (*ProductImage) ScanMediaOptions

func (productImage *ProductImage) ScanMediaOptions(mediaOption media_library.MediaOption) error

func (*ProductImage) SetSelectedType

func (productImage *ProductImage) SetSelectedType(typ string)

func (ProductImage) Validate

func (productImage ProductImage) Validate(db *gorm.DB)

type ProductProperties

type ProductProperties []ProductProperty

func (*ProductProperties) Scan

func (productProperties *ProductProperties) Scan(value interface{}) error

func (ProductProperties) Value

func (productProperties ProductProperties) Value() (driver.Value, error)

type ProductProperty

type ProductProperty struct {
	Name  string
	Value string
}

type ProductVariation

type ProductVariation struct {
	gorm.Model
	ProductID *uint
	Product   Product

	Color      Color `variations:"primary"`
	ColorID    *uint
	Size       Size `variations:"primary"`
	SizeID     *uint
	Material   Material `variations:"primary"`
	MaterialID *uint

	SKU               string
	ReceiptName       string
	Featured          bool
	Price             uint
	SellingPrice      uint
	AvailableQuantity uint
	Images            media_library.MediaBox
}

type Setting

type Setting struct {
	gorm.Model
	FeeSetting
	location.Location `location:"name:Company Address"`
	l10n.Locale
}

type SignLog

type SignLog struct {
	UserAgent string
	At        *time.Time
	IP        string
}

//////////////////////////////////////////////////////////////////////////////

type Size

type Size struct {
	gorm.Model
	l10n.Locale
	sorting.Sorting
	Name string
	Code string `l10n:"sync"`
}

func (Size) Validate

func (size Size) Validate(db *gorm.DB)

type SizeVariation

type SizeVariation struct {
	gorm.Model
	ColorVariationID  uint
	ColorVariation    ColorVariation
	SizeID            uint
	Size              Size
	AvailableQuantity uint
	publish2.SharedVersion
}

func SizeVariations

func SizeVariations() []SizeVariation

func (SizeVariation) Stringify

func (sizeVariation SizeVariation) Stringify() string

type Store

type Store struct {
	gorm.Model
	StoreName string
	Owner     Owner
	Phone     string
	Email     string
	location.Location
	sorting.Sorting
}

type User

type User struct {
	gorm.Model
	Email                  string `form:"email"`
	Password               string
	Name                   string `form:"name"`
	Gender                 string
	Role                   string
	Birthday               *time.Time
	Balance                float32
	DefaultBillingAddress  uint `form:"default-billing-address"`
	DefaultShippingAddress uint `form:"default-shipping-address"`
	Addresses              []Address
	Avatar                 AvatarImageStorage

	// Confirm
	ConfirmToken string
	Confirmed    bool

	// Recover
	RecoverToken       string
	RecoverTokenExpiry *time.Time

	// Accepts
	AcceptPrivate bool `form:"accept-private"`
	AcceptLicense bool `form:"accept-license"`
	AcceptNews    bool `form:"accept-news"`
}

func (User) AvailableLocales

func (user User) AvailableLocales() []string

func (User) DisplayName

func (user User) DisplayName() string

Jump to

Keyboard shortcuts

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