core

package
v0.0.0-...-6f3022d Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2023 License: Unlicense Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDataNotFound = errors.New("Data not found")
)

Functions

This section is empty.

Types

type Data

type Data struct {
	SKU         string        `db:"sku" json:"sku,omitempty"`
	Title       string        `db:"title" json:"title,omitempty"`
	Description string        `db:"description" json:"description,omitempty"`
	Category    string        `db:"category" json:"category,omitempty"`
	Etalase     string        `db:"etalase" json:"etalase,omitempty"`
	Images      ProductImages `db:"images" json:"images,omitempty"`
	Weight      float64       `db:"weight" json:"weight,omitempty"`
	Price       int64         `db:"price" json:"price,omitempty"`
	CreateTime  time.Time     `db:"create_time" json:"create_time,omitempty"`
}

type GetFilter

type GetFilter struct {
	SKU         string `db:"sku" json:"sku,omitempty"`
	Title       string `db:"title" json:"title,omitempty"`
	Description string `db:"description" json:"description,omitempty"`
	Category    string `db:"category" json:"category,omitempty"`
}

type GetInput

type GetInput struct {
	ProductID      int64           `db:"product_id" json:"product_id,omitempty"`
	GetFilter      *GetFilter      `json:"filter,omitempty"`
	GetProductSort *GetProductSort `json:"sort,omitempty"`
}

type GetProductSort

type GetProductSort struct {
	CreateTime int `json:"sort_create_time,omitempty"`
	AvgRating  int `json:"sort_avg_rating,omitempty"`
}

type Product

type Product interface {
	CreateProduct(ctx context.Context, data Data) error
	UpdateProduct(ctx context.Context, input UpdateInput) error
	GetProduct(ctx context.Context, inp GetInput) (ProductDataWithoutCreateTime, error)
	GetProducts(ctx context.Context, input GetInput) ([]ProductDataWithoutCreateTime, error)
}

Product is an interface for product object

func NewProduct

func NewProduct() Product

NewProduct will return Product object

type ProductData

type ProductData struct {
	ProductID   int64         `db:"product_id" json:"product_id,omitempty"`
	SKU         string        `db:"sku" json:"sku,omitempty"`
	Title       string        `db:"title" json:"title,omitempty"`
	Description string        `db:"description" json:"description,omitempty"`
	Category    string        `db:"category" json:"category,omitempty"`
	Etalase     string        `db:"etalase" json:"etalase,omitempty"`
	Images      ProductImages `db:"images" json:"images,omitempty"`
	Weight      float64       `db:"weight" json:"weight,omitempty"`
	Price       int64         `db:"price" json:"price,omitempty"`
	CreateTime  time.Time     `db:"create_time" json:"create_time,omitempty"`
}

type ProductDataWithoutCreateTime

type ProductDataWithoutCreateTime struct {
	ProductID      int64                              `db:"product_id" json:"product_id,omitempty"`
	SKU            string                             `db:"sku" json:"sku,omitempty"`
	Title          string                             `db:"title" json:"title,omitempty"`
	Description    string                             `db:"description" json:"description,omitempty"`
	Category       string                             `db:"category" json:"category,omitempty"`
	Etalase        string                             `db:"etalase" json:"etalase,omitempty"`
	Images         ProductImages                      `db:"images" json:"images,omitempty"`
	Weight         float64                            `db:"weight" json:"weight,omitempty"`
	Price          int64                              `db:"price" json:"price,omitempty"`
	ProductReviews []prdReviewCore.ProductReviewInput `json:"product_reviews,omitempty"`
}

type ProductImage

type ProductImage struct {
	URL         string `db:"url" json:"url,omitempty"`
	Description string `db:"description" json:"description,omitempty"`
}

type ProductImages

type ProductImages []ProductImage

func (*ProductImages) Scan

func (images *ProductImages) Scan(val interface{}) (err error)

func (ProductImages) Value

func (images ProductImages) Value() (driver.Value, error)

type UpdateInput

type UpdateInput struct {
	ProductID int64 `db:"product_id" json:"product_id,omitempty"`
	Data      Data
}

Jump to

Keyboard shortcuts

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