fix meilisearch
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package model
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
// ProductDescription contains all the information visible on webpage, in given language.
|
||||
type ProductDescription struct {
|
||||
ProductID uint `gorm:"column:id_product;primaryKey" json:"product_id" form:"product_id"`
|
||||
@@ -28,20 +30,30 @@ type ProductRow struct {
|
||||
}
|
||||
|
||||
type MeiliSearchProduct struct {
|
||||
ProductID uint `gorm:"column:id_product"`
|
||||
Name string `gorm:"column:name"`
|
||||
Description string `gorm:"column:description"`
|
||||
DescriptionShort string `gorm:"column:description_short"`
|
||||
Usage string `gorm:"column:used_for"`
|
||||
EAN13 string `gorm:"column:ean13"`
|
||||
Reference string `gorm:"column:reference"`
|
||||
Width float64 `gorm:"column:width"`
|
||||
Height float64 `gorm:"column:height"`
|
||||
Depth float64 `gorm:"column:depth"`
|
||||
Weight float64 `gorm:"column:weight"`
|
||||
CategoryID uint `gorm:"column:id_category"`
|
||||
CategoryName string `gorm:"column:category_name"`
|
||||
Variations uint `gorm:"column:variations"`
|
||||
CategoryIDs []uint `gorm:"-"` // All category IDs including children for filtering
|
||||
CoverImage string `gorm:"-"` // Cover image URL (not indexed)
|
||||
ProductID uint `gorm:"column:id_product" json:"product_id"`
|
||||
Name string `gorm:"column:name" json:"name"`
|
||||
Active uint8 `gorm:"column:active" json:"active"`
|
||||
Description string `gorm:"column:description" json:"description"`
|
||||
DescriptionShort string `gorm:"column:description_short" json:"description_short"`
|
||||
Usage string `gorm:"column:used_for" json:"usage"`
|
||||
EAN13 string `gorm:"column:ean13" json:"ean13"`
|
||||
Reference string `gorm:"column:reference" json:"reference"`
|
||||
Price float64 `gorm:"column:price" json:"price"`
|
||||
CategoryID uint `gorm:"column:id_category" json:"category_id"`
|
||||
CategoryName string `gorm:"column:category_name" json:"category_name"`
|
||||
Variations uint `gorm:"column:variations" json:"variations"`
|
||||
|
||||
// JSON fields stored as raw, converted to string for search
|
||||
Attributes json.RawMessage `gorm:"column:attributes" json:"attributes"`
|
||||
Features json.RawMessage `gorm:"column:features" json:"features"`
|
||||
AttributeFilters json.RawMessage `gorm:"column:attribute_filters" json:"attribute_filters"`
|
||||
|
||||
// String versions for searchable text (populated during indexing)
|
||||
FeaturesStr string `json:"features_str"`
|
||||
AttributesStr string `json:"attributes_str"`
|
||||
AttributeFiltersStr string `json:"attribute_filters_str"`
|
||||
|
||||
CategoryIDs json.RawMessage `gorm:"column:category_ids" json:"category_ids"` // All category IDs including children for filtering
|
||||
IDImage uint `gorm:"column:id_image" json:"id_image"` // Cover image ID (not indexed)
|
||||
CoverImage string `json:"cover_image"` // Cover image URL (populated during indexing)
|
||||
}
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
package model
|
||||
|
||||
type Route struct {
|
||||
ID uint `gorm:"primaryKey;autoIncrement"`
|
||||
Name string `gorm:"type:varchar(255);not null;unique"`
|
||||
Path *string `gorm:"type:varchar(255);default:null"`
|
||||
Component string `gorm:"type:varchar(255);not null;comment:path to component file"`
|
||||
Layout *string `gorm:"type:varchar(50);default:'default';comment:'default | empty'"`
|
||||
Meta *string `gorm:"type:longtext;default:'{}'"`
|
||||
IsActive *bool `gorm:"type:tinyint;default:1"`
|
||||
SortOrder *int `gorm:"type:int;default:0"`
|
||||
|
||||
ParentID *uint `gorm:"index"`
|
||||
Parent *Route `gorm:"constraint:OnUpdate:RESTRICT,OnDelete:SET NULL;foreignKey:ParentID"`
|
||||
|
||||
Children []Route `gorm:"foreignKey:ParentID"`
|
||||
ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
|
||||
Name string `gorm:"type:varchar(255);not null;unique" json:"name"`
|
||||
Path *string `gorm:"type:varchar(255);default:null" json:"path,omitempty"`
|
||||
Component string `gorm:"type:varchar(255);not null;comment:path to component file" json:"component"`
|
||||
Meta *string `gorm:"type:longtext;default:'{}'" json:"meta,omitempty"`
|
||||
Active *bool `gorm:"type:tinyint;default:1" json:"active,omitempty"`
|
||||
SortOrder *int `gorm:"type:int;default:0" json:"sort_order,omitempty"`
|
||||
}
|
||||
|
||||
func (Route) TableName() string {
|
||||
|
||||
@@ -6,7 +6,7 @@ type B2BTopMenu struct {
|
||||
MenuID int `gorm:"column:menu_id;primaryKey;autoIncrement" json:"menu_id"`
|
||||
Label json.RawMessage `gorm:"column:label;type:longtext;not null;default:'{}'" json:"label"`
|
||||
ParentID *int `gorm:"column:parent_id;index:FK_b2b_top_menu_parent_id" json:"parent_id,omitempty"`
|
||||
Params string `gorm:"column:params;type:longtext;not null;default:'{}'" json:"params"`
|
||||
Params json.RawMessage `gorm:"column:params;type:longtext;not null;default:'{}'" json:"params"`
|
||||
Active int8 `gorm:"column:active;type:tinyint;not null;default:1" json:"active"`
|
||||
Position int `gorm:"column:position;not null;default:1" json:"position"`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user