// Author : Eric Kim
// Build Date : 23 Jul 2008  Last Update 02 Aug 2008
// End-Agent for Passcon Multi OS go binding with Windows, MacOS, iOS, and Android
// All rights are reserved.

package model

type ItemInfo struct {
	SolutionName  SolutionType
	Version       string
	Emails        []string
	DomainName    string
	DomainURI     string
	ItemName      string
	ItemNick      string
	ModelName     string
	ModelNo       string
	BrandName     string
	Sku           string
	ItemCategory  []string
	Manufacturer  string
	Origin        string
	Language      string
	Currency      string
	SalesPrice    float32
	DeliveryPrice float32
	MinimumQty    float32
	UserCredit    float32
	Options       []Option
	Images        []string
	ShortDesc     string
	OriginDesc    string
	TextDesc      string
	HashUrl       string
	HashContent   string
	Suggest       []string `json:"suggest"`
	Cats          []string `json:"cats"`
}

type SolutionType string

var (
	SolutionTypeWooCommerce SolutionType = "WOOCOMMERCE"
	SolutionTypeDabory      SolutionType = "dbrshop"
	SolutionTypeShopify     SolutionType = "SHOPIFY"
	SolutionTypeMagento     SolutionType = "MAGENTO"
	SolutionTypeCafe24      SolutionType = "CAFE24"
	SolutionTypeGodo        SolutionType = "GODO"
	SolutionTypeYoung       SolutionType = "YOUNG"
	SolutionTypeOthers      SolutionType = "OTHERS"
)

type Option struct {
	Name    string
	Choices []Choice
}

type Choice struct {
	Name  string
	Price float32
}

type Image struct {
	Path   string
	Width  int `json:"-"`
	Height int `json:"-"`
}

type Suggester struct {
	Input  []string `json:"input"`
	Weight int      `json:"weight"`
}

type MatchingConfig struct {
	Name       string `json:"name"`
	Regex      string `json:"regex"`
	Images     string `json:"images"`
	Price      string `json:"price"`
	Category   string `json:"category"`
	ShortDesc  string `json:"short_desc"`
	OriginDesc string `json:"origin_desc"`
	TextDesc   string `json:"text_desc"`
	Options    string `json:"options"`
	Email      string `json:"email"`
}
