@pintahub/database-schemas 6.9.0 → 6.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,7 @@ export interface IMediaUpload {
3
3
  store: Types.ObjectId;
4
4
  product: Types.ObjectId;
5
5
  position?: number;
6
+ /** Variant option value to match this media to, parsed from the file name (e.g. 'Black', 'Zip Hoodie', 'Men'). Which option it is compared against comes from ProductType.media_match_option (default 'Color') — the field name predates non-color matching */
6
7
  color?: string;
7
8
  is_matched?: boolean;
8
9
  file_name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"MediaUpload.d.ts","sourceRoot":"","sources":["../../src/interfaces/MediaUpload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,UAAU,CAAA;AAEnC,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAA;IACrB,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,UAAU,CAAC,EAAE,IAAI,CAAA;CACpB"}
1
+ {"version":3,"file":"MediaUpload.d.ts","sourceRoot":"","sources":["../../src/interfaces/MediaUpload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,UAAU,CAAA;AAEnC,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAA;IACrB,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+PAA+P;IAC/P,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,UAAU,CAAC,EAAE,IAAI,CAAA;CACpB"}
@@ -5,6 +5,8 @@ export interface IProductType {
5
5
  products_count?: number;
6
6
  enable_create_product?: boolean;
7
7
  base_product?: Types.ObjectId;
8
+ /** Variant option name used to match uploaded media to variants (e.g. 'Type', 'Gender'). Empty = consumers fall back to 'Color' */
9
+ media_match_option?: string;
8
10
  position?: number;
9
11
  updated_at?: Date;
10
12
  created_at?: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"ProductType.d.ts","sourceRoot":"","sources":["../../src/interfaces/ProductType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,UAAU,CAAA;AAEnC,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,UAAU,CAAC,EAAE,IAAI,CAAA;CACpB"}
1
+ {"version":3,"file":"ProductType.d.ts","sourceRoot":"","sources":["../../src/interfaces/ProductType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,UAAU,CAAA;AAEnC,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAA;IAC7B,mIAAmI;IACnI,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,UAAU,CAAC,EAAE,IAAI,CAAA;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"MarketingCost.d.ts","sourceRoot":"","sources":["../../src/schemas/MarketingCost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAE/B,4CAA4C;AAC5C,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;EA6EjB,CAAA;AAgBF,SAAS,aAAa,CAAA"}
1
+ {"version":3,"file":"MarketingCost.d.ts","sourceRoot":"","sources":["../../src/schemas/MarketingCost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAE/B,4CAA4C;AAC5C,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;EA6EjB,CAAA;AA4BF,SAAS,aAAa,CAAA"}
@@ -80,5 +80,16 @@ MarketingCost.index({
80
80
  MarketingCost.index({
81
81
  campaign_name: 'text'
82
82
  });
83
+ /**
84
+ * Serves product-performance aggregations (admin-api `actions/cost/performance/`):
85
+ * they $match by product plus a `date` (Date) range. The {date_string, product}
86
+ * compound above cannot cover them — `date_string` is a different field (a
87
+ * "YYYY-MM-DD" string), so without this index the planner falls back to a
88
+ * single-field index and over-scans.
89
+ */
90
+ MarketingCost.index({
91
+ product: 1,
92
+ date: 1
93
+ });
83
94
  module.exports = MarketingCost;
84
95
  //# sourceMappingURL=MarketingCost.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarketingCost.js","sourceRoot":"","sources":["../../src/schemas/MarketingCost.ts"],"names":[],"mappings":";AAAA,uCAA+B;AAC/B,6CAA6C;AAC7C,4CAA4C;AAC5C,MAAM,aAAa,GAAG,IAAI,iBAAM,CAAsB;IAClD,iBAAiB;IACjB,KAAK,EAAE;QACH,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACjB;IAED,mBAAmB;IACnB,OAAO,EAAE;QACL,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;KACd;IAED,gDAAgD;IAChD,oBAAoB,EAAE;QAClB,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,uBAAuB;IACvB,aAAa,EAAE;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,8BAA8B;IAC9B,WAAW,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,4BAA4B;IAC5B,aAAa,EAAE;QACX,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,sBAAsB;IACtB,YAAY,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,2BAA2B;IAC3B,IAAI,EAAE;QACF,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,IAAI;KACjB;IAED,gBAAgB;IAChB,IAAI,EAAE;QACF,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACd;IAED,+CAA+C;IAC/C,WAAW,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACd;IAED,4BAA4B;IAC5B,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;IAED,gCAAgC;IAChC,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;CACJ,CAAC,CAAA;AAEF,aAAa,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,aAAa,EAAE,CAAC;CACnB,CAAC,CAAA;AAEF,aAAa,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;CACb,CAAC,CAAA;AAEF,aAAa,CAAC,KAAK,CAAC;IAChB,aAAa,EAAE,MAAM;CACxB,CAAC,CAAA;AAEF,iBAAS,aAAa,CAAA"}
1
+ {"version":3,"file":"MarketingCost.js","sourceRoot":"","sources":["../../src/schemas/MarketingCost.ts"],"names":[],"mappings":";AAAA,uCAA+B;AAC/B,6CAA6C;AAC7C,4CAA4C;AAC5C,MAAM,aAAa,GAAG,IAAI,iBAAM,CAAsB;IAClD,iBAAiB;IACjB,KAAK,EAAE;QACH,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACjB;IAED,mBAAmB;IACnB,OAAO,EAAE;QACL,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;KACd;IAED,gDAAgD;IAChD,oBAAoB,EAAE;QAClB,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,uBAAuB;IACvB,aAAa,EAAE;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,8BAA8B;IAC9B,WAAW,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,4BAA4B;IAC5B,aAAa,EAAE;QACX,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,sBAAsB;IACtB,YAAY,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,2BAA2B;IAC3B,IAAI,EAAE;QACF,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,IAAI;KACjB;IAED,gBAAgB;IAChB,IAAI,EAAE;QACF,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACd;IAED,+CAA+C;IAC/C,WAAW,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACd;IAED,4BAA4B;IAC5B,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;IAED,gCAAgC;IAChC,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;CACJ,CAAC,CAAA;AAEF,aAAa,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,aAAa,EAAE,CAAC;CACnB,CAAC,CAAA;AAEF,aAAa,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;CACb,CAAC,CAAA;AAEF,aAAa,CAAC,KAAK,CAAC;IAChB,aAAa,EAAE,MAAM;CACxB,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,aAAa,CAAC,KAAK,CAAC;IAChB,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;CACV,CAAC,CAAA;AAEF,iBAAS,aAAa,CAAA"}
@@ -20,7 +20,7 @@ const MediaUpload = new mongoose_1.Schema({
20
20
  default: 0,
21
21
  index: true,
22
22
  },
23
- /** Variant color to match this media to */
23
+ /** Variant option value to match this media to, parsed from the file name (e.g. 'Black', 'Zip Hoodie', 'Men'). Which option it is compared against comes from ProductType.media_match_option (default 'Color') — the field name predates non-color matching */
24
24
  color: {
25
25
  type: String,
26
26
  trim: true,
@@ -1 +1 @@
1
- {"version":3,"file":"MediaUpload.js","sourceRoot":"","sources":["../../src/schemas/MediaUpload.ts"],"names":[],"mappings":";AAAA,uCAA+B;AAC/B,wCAAwC;AACxC,MAAM,WAAW,GAAG,IAAI,iBAAM,CAAsB;IAChD,iBAAiB;IACjB,KAAK,EAAE;QACH,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACjB;IAED,mBAAmB;IACnB,OAAO,EAAE;QACL,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACjB;IAED,iBAAiB;IACjB,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,IAAI;KACd;IAED,2CAA2C;IAC3C,KAAK,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,uDAAuD;IACvD,UAAU,EAAE;QACR,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;KACjB;IAED,yBAAyB;IACzB,SAAS,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,wBAAwB;IACxB,SAAS,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,wEAAwE;IACxE,GAAG,EAAE;QACD,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,oEAAoE;IACpE,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,UAAU;KACtB;IAED,yBAAyB;IACzB,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;KACf;IAED,gCAAgC;IAChC,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,iDAAiD;IACjD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,SAAS;KACrB;IAED,oCAAoC;IACpC,YAAY,EAAE;QACV,IAAI,EAAE,IAAI;KACb;IAED,wBAAwB;IACxB,EAAE,EAAE;QACA,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,4BAA4B;IAC5B,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;IAED,gCAAgC;IAChC,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;CACJ,CAAC,CAAA;AAEF,iBAAS,WAAW,CAAA"}
1
+ {"version":3,"file":"MediaUpload.js","sourceRoot":"","sources":["../../src/schemas/MediaUpload.ts"],"names":[],"mappings":";AAAA,uCAA+B;AAC/B,wCAAwC;AACxC,MAAM,WAAW,GAAG,IAAI,iBAAM,CAAsB;IAChD,iBAAiB;IACjB,KAAK,EAAE;QACH,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACjB;IAED,mBAAmB;IACnB,OAAO,EAAE;QACL,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACjB;IAED,iBAAiB;IACjB,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,IAAI;KACd;IAED,+PAA+P;IAC/P,KAAK,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,uDAAuD;IACvD,UAAU,EAAE;QACR,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;KACjB;IAED,yBAAyB;IACzB,SAAS,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,wBAAwB;IACxB,SAAS,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,wEAAwE;IACxE,GAAG,EAAE;QACD,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,oEAAoE;IACpE,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,UAAU;KACtB;IAED,yBAAyB;IACzB,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;KACf;IAED,gCAAgC;IAChC,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,iDAAiD;IACjD,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,SAAS;KACrB;IAED,oCAAoC;IACpC,YAAY,EAAE;QACV,IAAI,EAAE,IAAI;KACb;IAED,wBAAwB;IACxB,EAAE,EAAE;QACA,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,4BAA4B;IAC5B,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;IAED,gCAAgC;IAChC,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;CACJ,CAAC,CAAA;AAEF,iBAAS,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderItem.d.ts","sourceRoot":"","sources":["../../src/schemas/OrderItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAE/B,sBAAsB;AACtB,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;EAuGb,CAAA;AAEF,SAAS,SAAS,CAAA"}
1
+ {"version":3,"file":"OrderItem.d.ts","sourceRoot":"","sources":["../../src/schemas/OrderItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAE/B,sBAAsB;AACtB,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;EAuGb,CAAA;AAcF,SAAS,SAAS,CAAA"}
@@ -91,5 +91,16 @@ const OrderItem = new mongoose_1.Schema({
91
91
  index: true,
92
92
  }
93
93
  });
94
+ /**
95
+ * Serves product-performance aggregations (admin-api `actions/cost/performance/`):
96
+ * they $match by product — or {$in: group product ids} — plus a created_at range.
97
+ * Without this compound index the planner must pick a single-field index: `product`
98
+ * fetches the product's entire order-item history then filters by date, while
99
+ * `created_at` scans the range across every store.
100
+ */
101
+ OrderItem.index({
102
+ product: 1,
103
+ created_at: 1
104
+ });
94
105
  module.exports = OrderItem;
95
106
  //# sourceMappingURL=OrderItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrderItem.js","sourceRoot":"","sources":["../../src/schemas/OrderItem.ts"],"names":[],"mappings":";AAAA,uCAA+B;AAC/B,6CAA6C;AAC7C,sBAAsB;AACtB,MAAM,SAAS,GAAG,IAAI,iBAAM,CAAsB;IAC9C,iBAAiB;IACjB,KAAK,EAAE;QACH,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACjB;IAED,iBAAiB;IACjB,KAAK,EAAE;QACH,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACjB;IAED,2BAA2B;IAC3B,EAAE,EAAE;QACA,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,0BAA0B;IAC1B,aAAa,EAAE;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,mBAAmB;IACnB,OAAO,EAAE;QACL,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;KACd;IAED,oBAAoB;IACpB,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;KACb;IAED,sBAAsB;IACtB,KAAK,EAAE;QACH,IAAI,EAAE,WAAW;KACpB;IAED,yBAAyB;IACzB,kBAAkB,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,IAAI;KAClB;IAED,kCAAkC;IAClC,UAAU,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,yBAAyB;IACzB,UAAU,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,6CAA6C;IAC7C,aAAa,EAAE;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,mBAAmB;IACnB,YAAY,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,qBAAqB;IACrB,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,0CAA0C;IAC1C,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,4BAA4B;IAC5B,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;IAED,gCAAgC;IAChC,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;QACjB,KAAK,EAAE,IAAI;KACd;CACJ,CAAC,CAAA;AAEF,iBAAS,SAAS,CAAA"}
1
+ {"version":3,"file":"OrderItem.js","sourceRoot":"","sources":["../../src/schemas/OrderItem.ts"],"names":[],"mappings":";AAAA,uCAA+B;AAC/B,6CAA6C;AAC7C,sBAAsB;AACtB,MAAM,SAAS,GAAG,IAAI,iBAAM,CAAsB;IAC9C,iBAAiB;IACjB,KAAK,EAAE;QACH,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACjB;IAED,iBAAiB;IACjB,KAAK,EAAE;QACH,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACjB;IAED,2BAA2B;IAC3B,EAAE,EAAE;QACA,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,0BAA0B;IAC1B,aAAa,EAAE;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,mBAAmB;IACnB,OAAO,EAAE;QACL,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;KACd;IAED,oBAAoB;IACpB,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;KACb;IAED,sBAAsB;IACtB,KAAK,EAAE;QACH,IAAI,EAAE,WAAW;KACpB;IAED,yBAAyB;IACzB,kBAAkB,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,IAAI;KAClB;IAED,kCAAkC;IAClC,UAAU,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,yBAAyB;IACzB,UAAU,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,6CAA6C;IAC7C,aAAa,EAAE;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,mBAAmB;IACnB,YAAY,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;KACd;IAED,qBAAqB;IACrB,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,0CAA0C;IAC1C,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,4BAA4B;IAC5B,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;IAED,gCAAgC;IAChC,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;QACjB,KAAK,EAAE,IAAI;KACd;CACJ,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,SAAS,CAAC,KAAK,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC;CAChB,CAAC,CAAA;AAEF,iBAAS,SAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProductType.d.ts","sourceRoot":"","sources":["../../src/schemas/ProductType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAC/B,kCAAkC;AAClC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;EAqDf,CAAA;AAEF,SAAS,WAAW,CAAA"}
1
+ {"version":3,"file":"ProductType.d.ts","sourceRoot":"","sources":["../../src/schemas/ProductType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAC/B,kCAAkC;AAClC,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;EA2Df,CAAA;AAEF,SAAS,WAAW,CAAA"}
@@ -31,6 +31,11 @@ const ProductType = new mongoose_1.Schema({
31
31
  base_product: {
32
32
  type: mongoose_1.Schema.Types.ObjectId,
33
33
  },
34
+ /** Variant option name used to match uploaded media to variants (e.g. 'Type', 'Gender'). Empty = consumers fall back to 'Color' */
35
+ media_match_option: {
36
+ type: String,
37
+ trim: true,
38
+ },
34
39
  /** Sort order (lower = higher priority) */
35
40
  position: {
36
41
  type: Number,
@@ -1 +1 @@
1
- {"version":3,"file":"ProductType.js","sourceRoot":"","sources":["../../src/schemas/ProductType.ts"],"names":[],"mappings":";AAAA,uCAA+B;AAC/B,kCAAkC;AAClC,MAAM,WAAW,GAAG,IAAI,iBAAM,CAAsB;IAChD,iBAAiB;IACjB,KAAK,EAAE;QACH,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACjB;IAED,mBAAmB;IACnB,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACd;IAED,yBAAyB;IACzB,cAAc,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,IAAI;KACd;IAED,+CAA+C;IAC/C,qBAAqB,EAAE;QACnB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;KACd;IAED,oDAAoD;IACpD,YAAY,EAAE;QACV,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;KAC9B;IAED,2CAA2C;IAC3C,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,GAAG;QACZ,KAAK,EAAE,IAAI;KACd;IAED,4BAA4B;IAC5B,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;IAED,gCAAgC;IAChC,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;CACJ,CAAC,CAAA;AAEF,iBAAS,WAAW,CAAA"}
1
+ {"version":3,"file":"ProductType.js","sourceRoot":"","sources":["../../src/schemas/ProductType.ts"],"names":[],"mappings":";AAAA,uCAA+B;AAC/B,kCAAkC;AAClC,MAAM,WAAW,GAAG,IAAI,iBAAM,CAAsB;IAChD,iBAAiB;IACjB,KAAK,EAAE;QACH,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACjB;IAED,mBAAmB;IACnB,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACd;IAED,yBAAyB;IACzB,cAAc,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,IAAI;KACd;IAED,+CAA+C;IAC/C,qBAAqB,EAAE;QACnB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;KACd;IAED,oDAAoD;IACpD,YAAY,EAAE;QACV,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;KAC9B;IAED,mIAAmI;IACnI,kBAAkB,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;KACb;IAED,2CAA2C;IAC3C,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,GAAG;QACZ,KAAK,EAAE,IAAI;KACd;IAED,4BAA4B;IAC5B,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;IAED,gCAAgC;IAChC,UAAU,EAAE;QACR,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KACpB;CACJ,CAAC,CAAA;AAEF,iBAAS,WAAW,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pintahub/database-schemas",
3
- "version": "6.9.0",
3
+ "version": "6.11.0",
4
4
  "description": "Pintahub MongoDB schemas (TypeScript). Compatible with both schemis (CJS) and schemas-ts (ESM) resolvers.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",