@gigapay-dev/contracts 3.13.0 → 3.13.2

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.
Files changed (31) hide show
  1. package/build/domains/collections/dtos.d.ts +13 -0
  2. package/build/domains/collections/dtos.d.ts.map +1 -1
  3. package/build/domains/collections/index.d.ts +13 -0
  4. package/build/domains/collections/index.d.ts.map +1 -1
  5. package/build/domains/collections/queries.d.ts +26 -0
  6. package/build/domains/collections/queries.d.ts.map +1 -1
  7. package/build/domains/orders/commands.d.ts +6 -6
  8. package/build/domains/orders/dtos.d.ts +3 -3
  9. package/build/domains/orders/index.d.ts +12 -12
  10. package/build/domains/orders/queries.d.ts +18 -18
  11. package/build/domains/products/dtos.d.ts +26 -0
  12. package/build/domains/products/dtos.d.ts.map +1 -1
  13. package/build/domains/products/dtos.js +2 -0
  14. package/build/domains/products/dtos.js.map +1 -1
  15. package/build/domains/products/index.d.ts +131 -169
  16. package/build/domains/products/index.d.ts.map +1 -1
  17. package/build/domains/products/index.js +3 -0
  18. package/build/domains/products/index.js.map +1 -1
  19. package/build/domains/products/queries.d.ts +110 -6
  20. package/build/domains/products/queries.d.ts.map +1 -1
  21. package/build/domains/products/reviews.d.ts +286 -0
  22. package/build/domains/products/reviews.d.ts.map +1 -0
  23. package/build/domains/products/reviews.js +81 -0
  24. package/build/domains/products/reviews.js.map +1 -0
  25. package/build/index.d.ts +155 -181
  26. package/build/index.d.ts.map +1 -1
  27. package/build/shared/money.d.ts +5 -3
  28. package/build/shared/money.d.ts.map +1 -1
  29. package/build/shared/money.js +8 -4
  30. package/build/shared/money.js.map +1 -1
  31. package/package.json +1 -1
@@ -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"}
@@ -4,8 +4,8 @@ import { z } from "zod";
4
4
  * покупок (`popularityScore`), с тайбрейком по всем продажам и новизне.
5
5
  */
6
6
  export declare const ProductSortSchema: z.ZodEnum<{
7
- popular: "popular";
8
7
  newest: "newest";
8
+ popular: "popular";
9
9
  price_asc: "price_asc";
10
10
  price_desc: "price_desc";
11
11
  }>;
@@ -28,8 +28,8 @@ export declare const ListProductsQuerySchema: z.ZodObject<{
28
28
  }>>;
29
29
  search: z.ZodOptional<z.ZodString>;
30
30
  sort: z.ZodDefault<z.ZodEnum<{
31
- popular: "popular";
32
31
  newest: "newest";
32
+ popular: "popular";
33
33
  price_asc: "price_asc";
34
34
  price_desc: "price_desc";
35
35
  }>>;
@@ -61,8 +61,8 @@ export declare const ListProductsEndpoint: {
61
61
  }>>;
62
62
  search: z.ZodOptional<z.ZodString>;
63
63
  sort: z.ZodDefault<z.ZodEnum<{
64
- popular: "popular";
65
64
  newest: "newest";
65
+ popular: "popular";
66
66
  price_asc: "price_asc";
67
67
  price_desc: "price_desc";
68
68
  }>>;
@@ -104,6 +104,19 @@ export declare const ListProductsEndpoint: {
104
104
  kzt: z.ZodString;
105
105
  }, z.core.$strip>;
106
106
  popularityScore: z.ZodNumber;
107
+ rating: z.ZodObject<{
108
+ average: z.ZodNumber;
109
+ count: z.ZodNumber;
110
+ distribution: z.ZodObject<{
111
+ 1: z.ZodNumber;
112
+ 2: z.ZodNumber;
113
+ 3: z.ZodNumber;
114
+ 4: z.ZodNumber;
115
+ 5: z.ZodNumber;
116
+ }, z.core.$strip>;
117
+ userRating: z.ZodNullable<z.ZodNumber>;
118
+ canRate: z.ZodBoolean;
119
+ }, z.core.$strip>;
107
120
  seo: z.ZodObject<{
108
121
  metaTitle: z.ZodString;
109
122
  metaDescription: z.ZodString;
@@ -208,6 +221,19 @@ export declare const GetProductBySlugEndpoint: {
208
221
  kzt: z.ZodString;
209
222
  }, z.core.$strip>;
210
223
  popularityScore: z.ZodNumber;
224
+ rating: z.ZodObject<{
225
+ average: z.ZodNumber;
226
+ count: z.ZodNumber;
227
+ distribution: z.ZodObject<{
228
+ 1: z.ZodNumber;
229
+ 2: z.ZodNumber;
230
+ 3: z.ZodNumber;
231
+ 4: z.ZodNumber;
232
+ 5: z.ZodNumber;
233
+ }, z.core.$strip>;
234
+ userRating: z.ZodNullable<z.ZodNumber>;
235
+ canRate: z.ZodBoolean;
236
+ }, z.core.$strip>;
211
237
  seo: z.ZodObject<{
212
238
  metaTitle: z.ZodString;
213
239
  metaDescription: z.ZodString;
@@ -290,8 +316,8 @@ export declare const ListAdminProductsEndpoint: {
290
316
  }>>;
291
317
  search: z.ZodOptional<z.ZodString>;
292
318
  sort: z.ZodDefault<z.ZodEnum<{
293
- popular: "popular";
294
319
  newest: "newest";
320
+ popular: "popular";
295
321
  price_asc: "price_asc";
296
322
  price_desc: "price_desc";
297
323
  }>>;
@@ -333,6 +359,19 @@ export declare const ListAdminProductsEndpoint: {
333
359
  kzt: z.ZodString;
334
360
  }, z.core.$strip>;
335
361
  popularityScore: z.ZodNumber;
362
+ rating: z.ZodObject<{
363
+ average: z.ZodNumber;
364
+ count: z.ZodNumber;
365
+ distribution: z.ZodObject<{
366
+ 1: z.ZodNumber;
367
+ 2: z.ZodNumber;
368
+ 3: z.ZodNumber;
369
+ 4: z.ZodNumber;
370
+ 5: z.ZodNumber;
371
+ }, z.core.$strip>;
372
+ userRating: z.ZodNullable<z.ZodNumber>;
373
+ canRate: z.ZodBoolean;
374
+ }, z.core.$strip>;
336
375
  seo: z.ZodObject<{
337
376
  metaTitle: z.ZodString;
338
377
  metaDescription: z.ZodString;
@@ -474,6 +513,19 @@ export declare const GetAdminProductBySlugEndpoint: {
474
513
  kzt: z.ZodString;
475
514
  }, z.core.$strip>;
476
515
  popularityScore: z.ZodNumber;
516
+ rating: z.ZodObject<{
517
+ average: z.ZodNumber;
518
+ count: z.ZodNumber;
519
+ distribution: z.ZodObject<{
520
+ 1: z.ZodNumber;
521
+ 2: z.ZodNumber;
522
+ 3: z.ZodNumber;
523
+ 4: z.ZodNumber;
524
+ 5: z.ZodNumber;
525
+ }, z.core.$strip>;
526
+ userRating: z.ZodNullable<z.ZodNumber>;
527
+ canRate: z.ZodBoolean;
528
+ }, z.core.$strip>;
477
529
  seo: z.ZodObject<{
478
530
  metaTitle: z.ZodString;
479
531
  metaDescription: z.ZodString;
@@ -589,8 +641,8 @@ export declare const ProductQueries: {
589
641
  }>>;
590
642
  search: z.ZodOptional<z.ZodString>;
591
643
  sort: z.ZodDefault<z.ZodEnum<{
592
- popular: "popular";
593
644
  newest: "newest";
645
+ popular: "popular";
594
646
  price_asc: "price_asc";
595
647
  price_desc: "price_desc";
596
648
  }>>;
@@ -632,6 +684,19 @@ export declare const ProductQueries: {
632
684
  kzt: z.ZodString;
633
685
  }, z.core.$strip>;
634
686
  popularityScore: z.ZodNumber;
687
+ rating: z.ZodObject<{
688
+ average: z.ZodNumber;
689
+ count: z.ZodNumber;
690
+ distribution: z.ZodObject<{
691
+ 1: z.ZodNumber;
692
+ 2: z.ZodNumber;
693
+ 3: z.ZodNumber;
694
+ 4: z.ZodNumber;
695
+ 5: z.ZodNumber;
696
+ }, z.core.$strip>;
697
+ userRating: z.ZodNullable<z.ZodNumber>;
698
+ canRate: z.ZodBoolean;
699
+ }, z.core.$strip>;
635
700
  seo: z.ZodObject<{
636
701
  metaTitle: z.ZodString;
637
702
  metaDescription: z.ZodString;
@@ -728,6 +793,19 @@ export declare const ProductQueries: {
728
793
  kzt: z.ZodString;
729
794
  }, z.core.$strip>;
730
795
  popularityScore: z.ZodNumber;
796
+ rating: z.ZodObject<{
797
+ average: z.ZodNumber;
798
+ count: z.ZodNumber;
799
+ distribution: z.ZodObject<{
800
+ 1: z.ZodNumber;
801
+ 2: z.ZodNumber;
802
+ 3: z.ZodNumber;
803
+ 4: z.ZodNumber;
804
+ 5: z.ZodNumber;
805
+ }, z.core.$strip>;
806
+ userRating: z.ZodNullable<z.ZodNumber>;
807
+ canRate: z.ZodBoolean;
808
+ }, z.core.$strip>;
731
809
  seo: z.ZodObject<{
732
810
  metaTitle: z.ZodString;
733
811
  metaDescription: z.ZodString;
@@ -810,8 +888,8 @@ export declare const ProductQueries: {
810
888
  }>>;
811
889
  search: z.ZodOptional<z.ZodString>;
812
890
  sort: z.ZodDefault<z.ZodEnum<{
813
- popular: "popular";
814
891
  newest: "newest";
892
+ popular: "popular";
815
893
  price_asc: "price_asc";
816
894
  price_desc: "price_desc";
817
895
  }>>;
@@ -853,6 +931,19 @@ export declare const ProductQueries: {
853
931
  kzt: z.ZodString;
854
932
  }, z.core.$strip>;
855
933
  popularityScore: z.ZodNumber;
934
+ rating: z.ZodObject<{
935
+ average: z.ZodNumber;
936
+ count: z.ZodNumber;
937
+ distribution: z.ZodObject<{
938
+ 1: z.ZodNumber;
939
+ 2: z.ZodNumber;
940
+ 3: z.ZodNumber;
941
+ 4: z.ZodNumber;
942
+ 5: z.ZodNumber;
943
+ }, z.core.$strip>;
944
+ userRating: z.ZodNullable<z.ZodNumber>;
945
+ canRate: z.ZodBoolean;
946
+ }, z.core.$strip>;
856
947
  seo: z.ZodObject<{
857
948
  metaTitle: z.ZodString;
858
949
  metaDescription: z.ZodString;
@@ -994,6 +1085,19 @@ export declare const ProductQueries: {
994
1085
  kzt: z.ZodString;
995
1086
  }, z.core.$strip>;
996
1087
  popularityScore: z.ZodNumber;
1088
+ rating: z.ZodObject<{
1089
+ average: z.ZodNumber;
1090
+ count: z.ZodNumber;
1091
+ distribution: z.ZodObject<{
1092
+ 1: z.ZodNumber;
1093
+ 2: z.ZodNumber;
1094
+ 3: z.ZodNumber;
1095
+ 4: z.ZodNumber;
1096
+ 5: z.ZodNumber;
1097
+ }, z.core.$strip>;
1098
+ userRating: z.ZodNullable<z.ZodNumber>;
1099
+ canRate: z.ZodBoolean;
1100
+ }, z.core.$strip>;
997
1101
  seo: z.ZodObject<{
998
1102
  metaTitle: z.ZodString;
999
1103
  metaDescription: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/domains/products/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;EAA2D,CAAC;AAC1F,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKI,CAAC;AAEtC,eAAO,MAAM,2BAA2B;;;;;;;iBAAwD,CAAC;AACjG,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMA,CAAC;AAEtC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;CAKC,CAAC;AAEtC,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOD,CAAC;AAEtC,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQL,CAAC;AAEtC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMjB,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/domains/products/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;EAA2D,CAAC;AAC1F,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKI,CAAC;AAEtC,eAAO,MAAM,2BAA2B;;;;;;;iBAAwD,CAAC;AACjG,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMA,CAAC;AAEtC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;CAKC,CAAC;AAEtC,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOD,CAAC;AAEtC,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQL,CAAC;AAEtC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMjB,CAAC"}