@gigapay-dev/contracts 3.13.0 → 3.13.1

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.
@@ -113,6 +113,19 @@ export declare const CollectionPageSchema: z.ZodObject<{
113
113
  kzt: z.ZodString;
114
114
  }, z.core.$strip>;
115
115
  popularityScore: z.ZodNumber;
116
+ rating: z.ZodObject<{
117
+ average: z.ZodNumber;
118
+ count: z.ZodNumber;
119
+ distribution: z.ZodObject<{
120
+ 1: z.ZodNumber;
121
+ 2: z.ZodNumber;
122
+ 3: z.ZodNumber;
123
+ 4: z.ZodNumber;
124
+ 5: z.ZodNumber;
125
+ }, z.core.$strip>;
126
+ userRating: z.ZodNullable<z.ZodNumber>;
127
+ canRate: z.ZodBoolean;
128
+ }, z.core.$strip>;
116
129
  seo: z.ZodObject<{
117
130
  metaTitle: z.ZodString;
118
131
  metaDescription: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"dtos.d.ts","sourceRoot":"","sources":["../../../src/domains/collections/dtos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAU3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;iBAUlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;iBAExC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"dtos.d.ts","sourceRoot":"","sources":["../../../src/domains/collections/dtos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAU3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;iBAUlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;iBAExC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -166,6 +166,19 @@ export declare const CollectionEndpoints: {
166
166
  kzt: import("zod").ZodString;
167
167
  }, import("zod/v4/core").$strip>;
168
168
  popularityScore: import("zod").ZodNumber;
169
+ rating: import("zod").ZodObject<{
170
+ average: import("zod").ZodNumber;
171
+ count: import("zod").ZodNumber;
172
+ distribution: import("zod").ZodObject<{
173
+ 1: import("zod").ZodNumber;
174
+ 2: import("zod").ZodNumber;
175
+ 3: import("zod").ZodNumber;
176
+ 4: import("zod").ZodNumber;
177
+ 5: import("zod").ZodNumber;
178
+ }, import("zod/v4/core").$strip>;
179
+ userRating: import("zod").ZodNullable<import("zod").ZodNumber>;
180
+ canRate: import("zod").ZodBoolean;
181
+ }, import("zod/v4/core").$strip>;
169
182
  seo: import("zod").ZodObject<{
170
183
  metaTitle: import("zod").ZodString;
171
184
  metaDescription: import("zod").ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domains/collections/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAK3B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGtB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domains/collections/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAK3B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGtB,CAAC"}
@@ -81,6 +81,19 @@ export declare const GetCollectionBySlugEndpoint: {
81
81
  kzt: z.ZodString;
82
82
  }, z.core.$strip>;
83
83
  popularityScore: z.ZodNumber;
84
+ rating: z.ZodObject<{
85
+ average: z.ZodNumber;
86
+ count: z.ZodNumber;
87
+ distribution: z.ZodObject<{
88
+ 1: z.ZodNumber;
89
+ 2: z.ZodNumber;
90
+ 3: z.ZodNumber;
91
+ 4: z.ZodNumber;
92
+ 5: z.ZodNumber;
93
+ }, z.core.$strip>;
94
+ userRating: z.ZodNullable<z.ZodNumber>;
95
+ canRate: z.ZodBoolean;
96
+ }, z.core.$strip>;
84
97
  seo: z.ZodObject<{
85
98
  metaTitle: z.ZodString;
86
99
  metaDescription: z.ZodString;
@@ -252,6 +265,19 @@ export declare const CollectionQueries: {
252
265
  kzt: z.ZodString;
253
266
  }, z.core.$strip>;
254
267
  popularityScore: z.ZodNumber;
268
+ rating: z.ZodObject<{
269
+ average: z.ZodNumber;
270
+ count: z.ZodNumber;
271
+ distribution: z.ZodObject<{
272
+ 1: z.ZodNumber;
273
+ 2: z.ZodNumber;
274
+ 3: z.ZodNumber;
275
+ 4: z.ZodNumber;
276
+ 5: z.ZodNumber;
277
+ }, z.core.$strip>;
278
+ userRating: z.ZodNullable<z.ZodNumber>;
279
+ canRate: z.ZodBoolean;
280
+ }, z.core.$strip>;
255
281
  seo: z.ZodObject<{
256
282
  metaTitle: z.ZodString;
257
283
  metaDescription: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/domains/collections/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,oBAAoB;;;EAAgC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;iBAKxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMH,CAAC;AAEtC,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;CAMJ,CAAC;AAEtC,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOF,CAAC;AAEtC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIpB,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/domains/collections/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,oBAAoB;;;EAAgC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;iBAKxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMH,CAAC;AAEtC,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;CAMJ,CAAC;AAEtC,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOF,CAAC;AAEtC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIpB,CAAC"}
@@ -170,6 +170,19 @@ export declare const ProductSchema: z.ZodObject<{
170
170
  kzt: z.ZodString;
171
171
  }, z.core.$strip>;
172
172
  popularityScore: z.ZodNumber;
173
+ rating: z.ZodObject<{
174
+ average: z.ZodNumber;
175
+ count: z.ZodNumber;
176
+ distribution: z.ZodObject<{
177
+ 1: z.ZodNumber;
178
+ 2: z.ZodNumber;
179
+ 3: z.ZodNumber;
180
+ 4: z.ZodNumber;
181
+ 5: z.ZodNumber;
182
+ }, z.core.$strip>;
183
+ userRating: z.ZodNullable<z.ZodNumber>;
184
+ canRate: z.ZodBoolean;
185
+ }, z.core.$strip>;
173
186
  seo: z.ZodObject<{
174
187
  metaTitle: z.ZodString;
175
188
  metaDescription: z.ZodString;
@@ -248,6 +261,19 @@ export declare const AdminProductSchema: z.ZodObject<{
248
261
  kzt: z.ZodString;
249
262
  }, z.core.$strip>;
250
263
  popularityScore: z.ZodNumber;
264
+ rating: z.ZodObject<{
265
+ average: z.ZodNumber;
266
+ count: z.ZodNumber;
267
+ distribution: z.ZodObject<{
268
+ 1: z.ZodNumber;
269
+ 2: z.ZodNumber;
270
+ 3: z.ZodNumber;
271
+ 4: z.ZodNumber;
272
+ 5: z.ZodNumber;
273
+ }, z.core.$strip>;
274
+ userRating: z.ZodNullable<z.ZodNumber>;
275
+ canRate: z.ZodBoolean;
276
+ }, z.core.$strip>;
251
277
  seo: z.ZodObject<{
252
278
  metaTitle: z.ZodString;
253
279
  metaDescription: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"dtos.d.ts","sourceRoot":"","sources":["../../../src/domains/products/dtos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAsB,MAAM,oBAAoB,CAAC;AAE3E,eAAO,MAAM,iBAAiB;;;;;;;;;EAS5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;;EAA0D,CAAC;AAC3F,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,kBAAkB;;;;EAAyC,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,uBAAuB;;;;;;EAMlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,sBAAsB;;;EAA6B,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB;;;;;;;;;iBAO7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;iBAS/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAepC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAM3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgBxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmB7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"dtos.d.ts","sourceRoot":"","sources":["../../../src/domains/products/dtos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAsB,MAAM,oBAAoB,CAAC;AAG3E,eAAO,MAAM,iBAAiB;;;;;;;;;EAS5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;;EAA0D,CAAC;AAC3F,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,kBAAkB;;;;EAAyC,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,uBAAuB;;;;;;EAMlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,sBAAsB;;;EAA6B,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB;;;;;;;;;iBAO7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;iBAS/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAepC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAM3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiBxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmB7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -4,6 +4,7 @@ exports.MoneyAmountSchema = exports.VariantStockSchema = exports.AdminProductSch
4
4
  const zod_1 = require("zod");
5
5
  const money_1 = require("../../shared/money");
6
6
  Object.defineProperty(exports, "MoneyAmountSchema", { enumerable: true, get: function () { return money_1.MoneyAmountSchema; } });
7
+ const reviews_1 = require("./reviews");
7
8
  exports.ProductTypeSchema = zod_1.z.enum([
8
9
  "GAME_KEY",
9
10
  "GAME_GIFT",
@@ -90,6 +91,7 @@ exports.ProductSchema = zod_1.z.object({
90
91
  basePrice: money_1.MoneyTripletSchema,
91
92
  /** Оконный рейтинг покупок; дефолтная сортировка каталога — по нему. */
92
93
  popularityScore: zod_1.z.number().nonnegative(),
94
+ rating: reviews_1.ProductRatingSummarySchema,
93
95
  seo: exports.ProductSeoSchema,
94
96
  variants: zod_1.z.array(exports.ProductVariantSchema),
95
97
  /** Галерея для слайдера, отсортирована по sortOrder. */
@@ -1 +1 @@
1
- {"version":3,"file":"dtos.js","sourceRoot":"","sources":["../../../src/domains/products/dtos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dtos.js","sourceRoot":"","sources":["../../../src/domains/products/dtos.ts"],"names":[],"mappings":"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"}
@@ -1,78 +1,117 @@
1
1
  export * from "./dtos";
2
2
  export * from "./queries";
3
3
  export * from "./commands";
4
+ export * from "./reviews";
4
5
  export declare const ProductEndpoints: {
6
+ readonly rating: {
7
+ readonly method: "GET";
8
+ readonly path: "/api/products/:slug/rating";
9
+ readonly params: import("zod").ZodObject<{
10
+ slug: import("zod").ZodString;
11
+ }, import("zod/v4/core").$strip>;
12
+ readonly response: import("zod").ZodObject<{
13
+ average: import("zod").ZodNumber;
14
+ count: import("zod").ZodNumber;
15
+ distribution: import("zod").ZodObject<{
16
+ 1: import("zod").ZodNumber;
17
+ 2: import("zod").ZodNumber;
18
+ 3: import("zod").ZodNumber;
19
+ 4: import("zod").ZodNumber;
20
+ 5: import("zod").ZodNumber;
21
+ }, import("zod/v4/core").$strip>;
22
+ userRating: import("zod").ZodNullable<import("zod").ZodNumber>;
23
+ canRate: import("zod").ZodBoolean;
24
+ }, import("zod/v4/core").$strip>;
25
+ };
26
+ readonly list: {
27
+ readonly method: "GET";
28
+ readonly path: "/api/products/:slug/reviews";
29
+ readonly params: import("zod").ZodObject<{
30
+ slug: import("zod").ZodString;
31
+ }, import("zod/v4/core").$strip>;
32
+ readonly query: import("zod").ZodObject<{
33
+ skip: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
34
+ take: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
35
+ rating: import("zod").ZodOptional<import("zod").ZodNumber>;
36
+ sort: import("zod").ZodDefault<import("zod").ZodEnum<{
37
+ newest: "newest";
38
+ highest: "highest";
39
+ lowest: "lowest";
40
+ }>>;
41
+ }, import("zod/v4/core").$strip>;
42
+ readonly response: import("zod").ZodObject<{
43
+ items: import("zod").ZodArray<import("zod").ZodObject<{
44
+ id: import("zod").ZodNumber;
45
+ author: import("zod").ZodObject<{
46
+ displayName: import("zod").ZodString;
47
+ }, import("zod/v4/core").$strip>;
48
+ rating: import("zod").ZodNumber;
49
+ text: import("zod").ZodNullable<import("zod").ZodString>;
50
+ verifiedPurchase: import("zod").ZodLiteral<true>;
51
+ isMine: import("zod").ZodBoolean;
52
+ createdAt: import("zod").ZodString;
53
+ updatedAt: import("zod").ZodString;
54
+ }, import("zod/v4/core").$strip>>;
55
+ total: import("zod").ZodNumber;
56
+ skip: import("zod").ZodNumber;
57
+ take: import("zod").ZodNumber;
58
+ }, import("zod/v4/core").$strip>;
59
+ };
5
60
  readonly create: {
6
61
  readonly method: "POST";
7
- readonly path: "/api/admin/products";
8
- readonly request: import("zod").ZodObject<{
62
+ readonly path: "/api/products/:slug/review";
63
+ readonly params: import("zod").ZodObject<{
9
64
  slug: import("zod").ZodString;
10
- title: import("zod").ZodString;
11
- originalTitle: import("zod").ZodOptional<import("zod").ZodString>;
12
- type: import("zod").ZodEnum<{
13
- GAME_KEY: "GAME_KEY";
14
- GAME_GIFT: "GAME_GIFT";
15
- TOPUP: "TOPUP";
16
- SUBSCRIPTION: "SUBSCRIPTION";
17
- IN_GAME_ITEM: "IN_GAME_ITEM";
18
- DLC: "DLC";
19
- CURRENCY: "CURRENCY";
20
- VOUCHER: "VOUCHER";
21
- }>;
22
- basePriceUsd: import("zod").ZodString;
23
- description: import("zod").ZodOptional<import("zod").ZodString>;
24
- shortDescription: import("zod").ZodOptional<import("zod").ZodString>;
25
- coverImageUrl: import("zod").ZodOptional<import("zod").ZodURL>;
26
- catalogImageUrl: import("zod").ZodOptional<import("zod").ZodURL>;
27
- cardImageUrl: import("zod").ZodOptional<import("zod").ZodURL>;
28
- steamAppId: import("zod").ZodOptional<import("zod").ZodNumber>;
29
- metaTitle: import("zod").ZodOptional<import("zod").ZodString>;
30
- metaDescription: import("zod").ZodOptional<import("zod").ZodString>;
31
- ogImageUrl: import("zod").ZodOptional<import("zod").ZodURL>;
32
- categoryId: import("zod").ZodNumber;
65
+ }, import("zod/v4/core").$strip>;
66
+ readonly request: import("zod").ZodObject<{
67
+ rating: import("zod").ZodNumber;
68
+ text: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
33
69
  }, import("zod/v4/core").$strip>;
34
70
  readonly response: import("zod").ZodObject<{
35
71
  id: import("zod").ZodNumber;
72
+ author: import("zod").ZodObject<{
73
+ displayName: import("zod").ZodString;
74
+ }, import("zod/v4/core").$strip>;
75
+ rating: import("zod").ZodNumber;
76
+ text: import("zod").ZodNullable<import("zod").ZodString>;
77
+ verifiedPurchase: import("zod").ZodLiteral<true>;
78
+ isMine: import("zod").ZodBoolean;
79
+ createdAt: import("zod").ZodString;
80
+ updatedAt: import("zod").ZodString;
36
81
  }, import("zod/v4/core").$strip>;
37
82
  readonly requiresAuth: true;
38
- readonly requiresAdmin: true;
83
+ readonly rateLimit: {
84
+ readonly limit: 5;
85
+ readonly ttlSec: 60;
86
+ };
39
87
  };
40
88
  readonly update: {
41
89
  readonly method: "PUT";
42
- readonly path: "/api/admin/products/:id";
90
+ readonly path: "/api/products/:slug/review";
43
91
  readonly params: import("zod").ZodObject<{
44
- id: import("zod").ZodCoercedNumber<unknown>;
92
+ slug: import("zod").ZodString;
45
93
  }, import("zod/v4/core").$strip>;
46
94
  readonly request: import("zod").ZodObject<{
47
- title: import("zod").ZodOptional<import("zod").ZodString>;
48
- originalTitle: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
49
- type: import("zod").ZodOptional<import("zod").ZodEnum<{
50
- GAME_KEY: "GAME_KEY";
51
- GAME_GIFT: "GAME_GIFT";
52
- TOPUP: "TOPUP";
53
- SUBSCRIPTION: "SUBSCRIPTION";
54
- IN_GAME_ITEM: "IN_GAME_ITEM";
55
- DLC: "DLC";
56
- CURRENCY: "CURRENCY";
57
- VOUCHER: "VOUCHER";
58
- }>>;
59
- description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
60
- shortDescription: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
61
- coverImageUrl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodURL>>;
62
- catalogImageUrl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodURL>>;
63
- cardImageUrl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodURL>>;
64
- basePriceUsd: import("zod").ZodOptional<import("zod").ZodString>;
65
- steamAppId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
66
- metaTitle: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
67
- metaDescription: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
68
- ogImageUrl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodURL>>;
69
- categoryId: import("zod").ZodOptional<import("zod").ZodNumber>;
95
+ rating: import("zod").ZodNumber;
96
+ text: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
70
97
  }, import("zod/v4/core").$strip>;
71
98
  readonly response: import("zod").ZodObject<{
72
99
  id: import("zod").ZodNumber;
100
+ author: import("zod").ZodObject<{
101
+ displayName: import("zod").ZodString;
102
+ }, import("zod/v4/core").$strip>;
103
+ rating: import("zod").ZodNumber;
104
+ text: import("zod").ZodNullable<import("zod").ZodString>;
105
+ verifiedPurchase: import("zod").ZodLiteral<true>;
106
+ isMine: import("zod").ZodBoolean;
107
+ createdAt: import("zod").ZodString;
108
+ updatedAt: import("zod").ZodString;
73
109
  }, import("zod/v4/core").$strip>;
74
110
  readonly requiresAuth: true;
75
- readonly requiresAdmin: true;
111
+ readonly rateLimit: {
112
+ readonly limit: 5;
113
+ readonly ttlSec: 60;
114
+ };
76
115
  };
77
116
  readonly replaceMedia: {
78
117
  readonly method: "PUT";
@@ -407,122 +446,6 @@ export declare const ProductEndpoints: {
407
446
  readonly requiresAuth: true;
408
447
  readonly requiresAdmin: true;
409
448
  };
410
- readonly list: {
411
- readonly method: "GET";
412
- readonly path: "/api/products";
413
- readonly query: import("zod").ZodObject<{
414
- skip: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
415
- take: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
416
- showcaseId: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
417
- subShowcaseId: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
418
- categoryId: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
419
- type: import("zod").ZodOptional<import("zod").ZodEnum<{
420
- GAME_KEY: "GAME_KEY";
421
- GAME_GIFT: "GAME_GIFT";
422
- TOPUP: "TOPUP";
423
- SUBSCRIPTION: "SUBSCRIPTION";
424
- IN_GAME_ITEM: "IN_GAME_ITEM";
425
- DLC: "DLC";
426
- CURRENCY: "CURRENCY";
427
- VOUCHER: "VOUCHER";
428
- }>>;
429
- search: import("zod").ZodOptional<import("zod").ZodString>;
430
- sort: import("zod").ZodDefault<import("zod").ZodEnum<{
431
- popular: "popular";
432
- newest: "newest";
433
- price_asc: "price_asc";
434
- price_desc: "price_desc";
435
- }>>;
436
- currency: import("zod").ZodDefault<import("zod").ZodEnum<{
437
- USD: "USD";
438
- RUB: "RUB";
439
- UAH: "UAH";
440
- KZT: "KZT";
441
- }>>;
442
- }, import("zod/v4/core").$strip>;
443
- readonly response: import("zod").ZodObject<{
444
- items: import("zod").ZodArray<import("zod").ZodObject<{
445
- id: import("zod").ZodNumber;
446
- slug: import("zod").ZodString;
447
- title: import("zod").ZodString;
448
- type: import("zod").ZodEnum<{
449
- GAME_KEY: "GAME_KEY";
450
- GAME_GIFT: "GAME_GIFT";
451
- TOPUP: "TOPUP";
452
- SUBSCRIPTION: "SUBSCRIPTION";
453
- IN_GAME_ITEM: "IN_GAME_ITEM";
454
- DLC: "DLC";
455
- CURRENCY: "CURRENCY";
456
- VOUCHER: "VOUCHER";
457
- }>;
458
- status: import("zod").ZodEnum<{
459
- OUT_OF_STOCK: "OUT_OF_STOCK";
460
- ACTIVE: "ACTIVE";
461
- DRAFT: "DRAFT";
462
- ARCHIVED: "ARCHIVED";
463
- }>;
464
- description: import("zod").ZodNullable<import("zod").ZodString>;
465
- shortDescription: import("zod").ZodNullable<import("zod").ZodString>;
466
- coverImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
467
- basePrice: import("zod").ZodObject<{
468
- usd: import("zod").ZodString;
469
- rub: import("zod").ZodString;
470
- uah: import("zod").ZodString;
471
- kzt: import("zod").ZodString;
472
- }, import("zod/v4/core").$strip>;
473
- popularityScore: import("zod").ZodNumber;
474
- seo: import("zod").ZodObject<{
475
- metaTitle: import("zod").ZodString;
476
- metaDescription: import("zod").ZodString;
477
- ogImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
478
- canonicalPath: import("zod").ZodString;
479
- breadcrumb: import("zod").ZodArray<import("zod").ZodObject<{
480
- id: import("zod").ZodNumber;
481
- slug: import("zod").ZodString;
482
- name: import("zod").ZodString;
483
- }, import("zod/v4/core").$strip>>;
484
- }, import("zod/v4/core").$strip>;
485
- variants: import("zod").ZodArray<import("zod").ZodObject<{
486
- id: import("zod").ZodNumber;
487
- name: import("zod").ZodString;
488
- sku: import("zod").ZodString;
489
- imageUrl: import("zod").ZodNullable<import("zod").ZodString>;
490
- price: import("zod").ZodObject<{
491
- usd: import("zod").ZodString;
492
- rub: import("zod").ZodString;
493
- uah: import("zod").ZodString;
494
- kzt: import("zod").ZodString;
495
- }, import("zod/v4/core").$strip>;
496
- deliveryType: import("zod").ZodEnum<{
497
- AUTOMATIC: "AUTOMATIC";
498
- MANUAL: "MANUAL";
499
- BOT: "BOT";
500
- }>;
501
- desslyServiceType: import("zod").ZodNullable<import("zod").ZodEnum<{
502
- VOUCHER: "VOUCHER";
503
- STEAM_TOPUP: "STEAM_TOPUP";
504
- STEAM_GIFT: "STEAM_GIFT";
505
- MOBILE_REFILL: "MOBILE_REFILL";
506
- CRYPTO_REFILL: "CRYPTO_REFILL";
507
- }>>;
508
- isActive: import("zod").ZodBoolean;
509
- }, import("zod/v4/core").$strip>>;
510
- media: import("zod").ZodArray<import("zod").ZodObject<{
511
- id: import("zod").ZodNumber;
512
- type: import("zod").ZodEnum<{
513
- IMAGE: "IMAGE";
514
- VIDEO: "VIDEO";
515
- }>;
516
- url: import("zod").ZodString;
517
- thumbnailUrl: import("zod").ZodNullable<import("zod").ZodString>;
518
- sortOrder: import("zod").ZodNumber;
519
- }, import("zod/v4/core").$strip>>;
520
- }, import("zod/v4/core").$strip>>;
521
- total: import("zod").ZodNumber;
522
- skip: import("zod").ZodNumber;
523
- take: import("zod").ZodNumber;
524
- }, import("zod/v4/core").$strip>;
525
- };
526
449
  readonly getBySlug: {
527
450
  readonly method: "GET";
528
451
  readonly path: "/api/products/:slug";
@@ -567,6 +490,19 @@ export declare const ProductEndpoints: {
567
490
  kzt: import("zod").ZodString;
568
491
  }, import("zod/v4/core").$strip>;
569
492
  popularityScore: import("zod").ZodNumber;
493
+ rating: import("zod").ZodObject<{
494
+ average: import("zod").ZodNumber;
495
+ count: import("zod").ZodNumber;
496
+ distribution: import("zod").ZodObject<{
497
+ 1: import("zod").ZodNumber;
498
+ 2: import("zod").ZodNumber;
499
+ 3: import("zod").ZodNumber;
500
+ 4: import("zod").ZodNumber;
501
+ 5: import("zod").ZodNumber;
502
+ }, import("zod/v4/core").$strip>;
503
+ userRating: import("zod").ZodNullable<import("zod").ZodNumber>;
504
+ canRate: import("zod").ZodBoolean;
505
+ }, import("zod/v4/core").$strip>;
570
506
  seo: import("zod").ZodObject<{
571
507
  metaTitle: import("zod").ZodString;
572
508
  metaDescription: import("zod").ZodString;
@@ -649,8 +585,8 @@ export declare const ProductEndpoints: {
649
585
  }>>;
650
586
  search: import("zod").ZodOptional<import("zod").ZodString>;
651
587
  sort: import("zod").ZodDefault<import("zod").ZodEnum<{
652
- popular: "popular";
653
588
  newest: "newest";
589
+ popular: "popular";
654
590
  price_asc: "price_asc";
655
591
  price_desc: "price_desc";
656
592
  }>>;
@@ -692,6 +628,19 @@ export declare const ProductEndpoints: {
692
628
  kzt: import("zod").ZodString;
693
629
  }, import("zod/v4/core").$strip>;
694
630
  popularityScore: import("zod").ZodNumber;
631
+ rating: import("zod").ZodObject<{
632
+ average: import("zod").ZodNumber;
633
+ count: import("zod").ZodNumber;
634
+ distribution: import("zod").ZodObject<{
635
+ 1: import("zod").ZodNumber;
636
+ 2: import("zod").ZodNumber;
637
+ 3: import("zod").ZodNumber;
638
+ 4: import("zod").ZodNumber;
639
+ 5: import("zod").ZodNumber;
640
+ }, import("zod/v4/core").$strip>;
641
+ userRating: import("zod").ZodNullable<import("zod").ZodNumber>;
642
+ canRate: import("zod").ZodBoolean;
643
+ }, import("zod/v4/core").$strip>;
695
644
  seo: import("zod").ZodObject<{
696
645
  metaTitle: import("zod").ZodString;
697
646
  metaDescription: import("zod").ZodString;
@@ -833,6 +782,19 @@ export declare const ProductEndpoints: {
833
782
  kzt: import("zod").ZodString;
834
783
  }, import("zod/v4/core").$strip>;
835
784
  popularityScore: import("zod").ZodNumber;
785
+ rating: import("zod").ZodObject<{
786
+ average: import("zod").ZodNumber;
787
+ count: import("zod").ZodNumber;
788
+ distribution: import("zod").ZodObject<{
789
+ 1: import("zod").ZodNumber;
790
+ 2: import("zod").ZodNumber;
791
+ 3: import("zod").ZodNumber;
792
+ 4: import("zod").ZodNumber;
793
+ 5: import("zod").ZodNumber;
794
+ }, import("zod/v4/core").$strip>;
795
+ userRating: import("zod").ZodNullable<import("zod").ZodNumber>;
796
+ canRate: import("zod").ZodBoolean;
797
+ }, import("zod/v4/core").$strip>;
836
798
  seo: import("zod").ZodObject<{
837
799
  metaTitle: import("zod").ZodString;
838
800
  metaDescription: import("zod").ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domains/products/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAK3B,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGnB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domains/products/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAM1B,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAInB,CAAC"}
@@ -18,10 +18,13 @@ exports.ProductEndpoints = void 0;
18
18
  __exportStar(require("./dtos"), exports);
19
19
  __exportStar(require("./queries"), exports);
20
20
  __exportStar(require("./commands"), exports);
21
+ __exportStar(require("./reviews"), exports);
21
22
  const queries_1 = require("./queries");
22
23
  const commands_1 = require("./commands");
24
+ const reviews_1 = require("./reviews");
23
25
  exports.ProductEndpoints = {
24
26
  ...queries_1.ProductQueries,
25
27
  ...commands_1.ProductCommands,
28
+ ...reviews_1.ProductReviewEndpoints,
26
29
  };
27
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domains/products/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAE3B,uCAA2C;AAC3C,yCAA6C;AAEhC,QAAA,gBAAgB,GAAG;IAC/B,GAAG,wBAAc;IACjB,GAAG,0BAAe;CACT,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domains/products/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B;AAE1B,uCAA2C;AAC3C,yCAA6C;AAC7C,uCAAmD;AAEtC,QAAA,gBAAgB,GAAG;IAC/B,GAAG,wBAAc;IACjB,GAAG,0BAAe;IAClB,GAAG,gCAAsB;CAChB,CAAC"}