example

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2015 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Schema = schema{
	Product: &schemaProduct{
		Status:    storable.NewField("status", "int"),
		CreatedAt: storable.NewField("createdat", "time.Time"),
		UpdatedAt: storable.NewField("updatedat", "time.Time"),
		Name:      storable.NewField("name", "string"),
		Price: &schemaProductPrice{
			Amount:   storable.NewField("price.amount", "float64"),
			Discount: storable.NewField("price.discount", "float64"),
		},
		Discount: storable.NewField("discount", "float64"),
		Url:      storable.NewField("url", "string"),
		Tags:     storable.NewField("tags", "string"),
	},
}

Functions

This section is empty.

Types

type Price

type Price struct {
	Amount   float64
	Discount float64
}

type Product

type Product struct {
	storable.Document `bson:",inline" collection:"products"`

	Status    Status
	CreatedAt time.Time
	UpdatedAt time.Time
	Name      string
	Price     Price

	Discount float64
	Url      string
	Tags     []string
}

func (*Product) BeforeInsert

func (p *Product) BeforeInsert() error

func (*Product) BeforeSave

func (p *Product) BeforeSave() error

type ProductQuery

type ProductQuery struct {
	storable.BaseQuery
}

func (*ProductQuery) FindById

func (q *ProductQuery) FindById(ids ...bson.ObjectId)

type ProductResultSet

type ProductResultSet struct {
	storable.ResultSet
}

func (*ProductResultSet) All

func (r *ProductResultSet) All() ([]*Product, error)

func (*ProductResultSet) Next

func (r *ProductResultSet) Next() (*Product, error)

func (*ProductResultSet) One

func (r *ProductResultSet) One() (*Product, error)

type ProductStore

type ProductStore struct {
	storable.Store
}

func NewProductStore

func NewProductStore(db *mgo.Database) *ProductStore

func (*ProductStore) Find

func (s *ProductStore) Find(query *ProductQuery) (*ProductResultSet, error)

func (*ProductStore) FindOne

func (s *ProductStore) FindOne(query *ProductQuery) (*Product, error)

func (*ProductStore) Insert

func (s *ProductStore) Insert(doc *Product) error

func (*ProductStore) MustFind

func (s *ProductStore) MustFind(query *ProductQuery) *ProductResultSet

func (*ProductStore) MustFindOne

func (s *ProductStore) MustFindOne(query *ProductQuery) *Product

func (*ProductStore) New

func (s *ProductStore) New(name string, price Price, createdAt time.Time) (doc *Product, err error)

func (*ProductStore) Query

func (s *ProductStore) Query() *ProductQuery

func (*ProductStore) Save

func (s *ProductStore) Save(doc *Product) (updated bool, err error)

func (*ProductStore) Update

func (s *ProductStore) Update(doc *Product) error

type Status

type Status int
const (
	Draft Status = iota
	Published
)

func (Status) AfterInsert

func (s Status) AfterInsert() error

func (*Status) BeforeInsert

func (s *Status) BeforeInsert() error

Jump to

Keyboard shortcuts

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