This commit is contained in:
mats committed 2026-07-26 13:01:07 +02:00
1 parent 540aa48c44
commit bd81f4ff54
8 files changed
+322 -4

No files matched your search

+12 -1
View File
@@ -19,6 +19,10 @@
// inventory_tracked ← bool coercion of source[InventoryTrackedField]
// drop_ship ← bool coercion of source[DropShipField]
// category ← source[CategoryField] (omitempty)
// category2 ← source[Category2Field] (omitempty)
// category3 ← source[Category3Field] (omitempty)
// category4 ← source[Category4Field] (omitempty)
// category5 ← source[Category5Field] (omitempty)
// brand ← source[BrandField] (omitempty)
// image ← source[ImageField] (omitempty)
// updated_at ← Unix-ms from source[UpdatedAtField] OR stamped at
@@ -75,7 +79,10 @@ import (
// asks for these so the cart can pre-mark drop-ship
// items before checkout and inventory can opt-out of
// tracking for non-stock items.
// Category / Brand / Image — display projection only.
// Category* / Brand / Image — display projection only.
// Category2–Category5 extend category with deeper taxonomy levels for
// promotions engine multi-level matching and tracking personas.
// Each level is optional; an empty string means "not published".
// UpdatedAt — version stamp for snapshot + revalidate.
//
// WIRE-COMPAT: adding a field is forward+backward-safe. Old snapshot
@@ -97,6 +104,10 @@ type Projection struct {
InventoryTracked bool `json:"inventory_tracked"`
DropShip bool `json:"drop_ship"`
Category string `json:"category,omitempty"`
Category2 string `json:"category2,omitempty"`
Category3 string `json:"category3,omitempty"`
Category4 string `json:"category4,omitempty"`
Category5 string `json:"category5,omitempty"`
Brand string `json:"brand,omitempty"`
Image string `json:"image,omitempty"`
UpdatedAt int64 `json:"updated_at"`