@gigapay-dev/contracts 3.8.0 → 3.10.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.
@@ -26,6 +26,9 @@ export declare const ProductEndpoints: {
26
26
  catalogImageUrl: import("zod").ZodOptional<import("zod").ZodURL>;
27
27
  cardImageUrl: import("zod").ZodOptional<import("zod").ZodURL>;
28
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>;
29
32
  categoryId: import("zod").ZodNumber;
30
33
  }, import("zod/v4/core").$strip>;
31
34
  readonly response: import("zod").ZodObject<{
@@ -34,6 +37,74 @@ export declare const ProductEndpoints: {
34
37
  readonly requiresAuth: true;
35
38
  readonly requiresAdmin: true;
36
39
  };
40
+ readonly update: {
41
+ readonly method: "PUT";
42
+ readonly path: "/api/admin/products/:id";
43
+ readonly params: import("zod").ZodObject<{
44
+ id: import("zod").ZodCoercedNumber<unknown>;
45
+ }, import("zod/v4/core").$strip>;
46
+ 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>;
70
+ }, import("zod/v4/core").$strip>;
71
+ readonly response: import("zod").ZodObject<{
72
+ id: import("zod").ZodNumber;
73
+ }, import("zod/v4/core").$strip>;
74
+ readonly requiresAuth: true;
75
+ readonly requiresAdmin: true;
76
+ };
77
+ readonly replaceMedia: {
78
+ readonly method: "PUT";
79
+ readonly path: "/api/admin/products/:id/media";
80
+ readonly params: import("zod").ZodObject<{
81
+ id: import("zod").ZodCoercedNumber<unknown>;
82
+ }, import("zod/v4/core").$strip>;
83
+ readonly request: import("zod").ZodObject<{
84
+ items: import("zod").ZodArray<import("zod").ZodObject<{
85
+ type: import("zod").ZodEnum<{
86
+ IMAGE: "IMAGE";
87
+ VIDEO: "VIDEO";
88
+ }>;
89
+ url: import("zod").ZodURL;
90
+ thumbnailUrl: import("zod").ZodOptional<import("zod").ZodURL>;
91
+ }, import("zod/v4/core").$strip>>;
92
+ }, import("zod/v4/core").$strip>;
93
+ readonly response: import("zod").ZodObject<{
94
+ media: import("zod").ZodArray<import("zod").ZodObject<{
95
+ id: import("zod").ZodNumber;
96
+ type: import("zod").ZodEnum<{
97
+ IMAGE: "IMAGE";
98
+ VIDEO: "VIDEO";
99
+ }>;
100
+ url: import("zod").ZodString;
101
+ thumbnailUrl: import("zod").ZodNullable<import("zod").ZodString>;
102
+ sortOrder: import("zod").ZodNumber;
103
+ }, import("zod/v4/core").$strip>>;
104
+ }, import("zod/v4/core").$strip>;
105
+ readonly requiresAuth: true;
106
+ readonly requiresAdmin: true;
107
+ };
37
108
  readonly archive: {
38
109
  readonly method: "POST";
39
110
  readonly path: "/api/admin/products/:id/archive";
@@ -172,6 +243,14 @@ export declare const ProductEndpoints: {
172
243
  background: import("zod").ZodNullable<import("zod").ZodString>;
173
244
  screenshots: import("zod").ZodArray<import("zod").ZodString>;
174
245
  }, import("zod/v4/core").$strip>;
246
+ gallery: import("zod").ZodArray<import("zod").ZodObject<{
247
+ type: import("zod").ZodEnum<{
248
+ IMAGE: "IMAGE";
249
+ VIDEO: "VIDEO";
250
+ }>;
251
+ url: import("zod").ZodURL;
252
+ thumbnailUrl: import("zod").ZodOptional<import("zod").ZodURL>;
253
+ }, import("zod/v4/core").$strip>>;
175
254
  appId: import("zod").ZodNumber;
176
255
  slug: import("zod").ZodString;
177
256
  title: import("zod").ZodString;
@@ -331,6 +410,12 @@ export declare const ProductEndpoints: {
331
410
  VOUCHER: "VOUCHER";
332
411
  }>>;
333
412
  search: import("zod").ZodOptional<import("zod").ZodString>;
413
+ sort: import("zod").ZodDefault<import("zod").ZodEnum<{
414
+ popular: "popular";
415
+ newest: "newest";
416
+ price_asc: "price_asc";
417
+ price_desc: "price_desc";
418
+ }>>;
334
419
  currency: import("zod").ZodDefault<import("zod").ZodEnum<{
335
420
  USD: "USD";
336
421
  RUB: "RUB";
@@ -368,6 +453,18 @@ export declare const ProductEndpoints: {
368
453
  uah: import("zod").ZodString;
369
454
  kzt: import("zod").ZodString;
370
455
  }, import("zod/v4/core").$strip>;
456
+ popularityScore: import("zod").ZodNumber;
457
+ seo: import("zod").ZodObject<{
458
+ metaTitle: import("zod").ZodString;
459
+ metaDescription: import("zod").ZodString;
460
+ ogImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
461
+ canonicalPath: import("zod").ZodString;
462
+ breadcrumb: import("zod").ZodArray<import("zod").ZodObject<{
463
+ id: import("zod").ZodNumber;
464
+ slug: import("zod").ZodString;
465
+ name: import("zod").ZodString;
466
+ }, import("zod/v4/core").$strip>>;
467
+ }, import("zod/v4/core").$strip>;
371
468
  variants: import("zod").ZodArray<import("zod").ZodObject<{
372
469
  id: import("zod").ZodNumber;
373
470
  name: import("zod").ZodString;
@@ -393,6 +490,16 @@ export declare const ProductEndpoints: {
393
490
  }>>;
394
491
  isActive: import("zod").ZodBoolean;
395
492
  }, import("zod/v4/core").$strip>>;
493
+ media: import("zod").ZodArray<import("zod").ZodObject<{
494
+ id: import("zod").ZodNumber;
495
+ type: import("zod").ZodEnum<{
496
+ IMAGE: "IMAGE";
497
+ VIDEO: "VIDEO";
498
+ }>;
499
+ url: import("zod").ZodString;
500
+ thumbnailUrl: import("zod").ZodNullable<import("zod").ZodString>;
501
+ sortOrder: import("zod").ZodNumber;
502
+ }, import("zod/v4/core").$strip>>;
396
503
  }, import("zod/v4/core").$strip>>;
397
504
  total: import("zod").ZodNumber;
398
505
  skip: import("zod").ZodNumber;
@@ -442,6 +549,18 @@ export declare const ProductEndpoints: {
442
549
  uah: import("zod").ZodString;
443
550
  kzt: import("zod").ZodString;
444
551
  }, import("zod/v4/core").$strip>;
552
+ popularityScore: import("zod").ZodNumber;
553
+ seo: import("zod").ZodObject<{
554
+ metaTitle: import("zod").ZodString;
555
+ metaDescription: import("zod").ZodString;
556
+ ogImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
557
+ canonicalPath: import("zod").ZodString;
558
+ breadcrumb: import("zod").ZodArray<import("zod").ZodObject<{
559
+ id: import("zod").ZodNumber;
560
+ slug: import("zod").ZodString;
561
+ name: import("zod").ZodString;
562
+ }, import("zod/v4/core").$strip>>;
563
+ }, import("zod/v4/core").$strip>;
445
564
  variants: import("zod").ZodArray<import("zod").ZodObject<{
446
565
  id: import("zod").ZodNumber;
447
566
  name: import("zod").ZodString;
@@ -467,6 +586,16 @@ export declare const ProductEndpoints: {
467
586
  }>>;
468
587
  isActive: import("zod").ZodBoolean;
469
588
  }, import("zod/v4/core").$strip>>;
589
+ media: import("zod").ZodArray<import("zod").ZodObject<{
590
+ id: import("zod").ZodNumber;
591
+ type: import("zod").ZodEnum<{
592
+ IMAGE: "IMAGE";
593
+ VIDEO: "VIDEO";
594
+ }>;
595
+ url: import("zod").ZodString;
596
+ thumbnailUrl: import("zod").ZodNullable<import("zod").ZodString>;
597
+ sortOrder: import("zod").ZodNumber;
598
+ }, import("zod/v4/core").$strip>>;
470
599
  }, import("zod/v4/core").$strip>;
471
600
  };
472
601
  readonly getVariantStock: {
@@ -502,6 +631,12 @@ export declare const ProductEndpoints: {
502
631
  VOUCHER: "VOUCHER";
503
632
  }>>;
504
633
  search: import("zod").ZodOptional<import("zod").ZodString>;
634
+ sort: import("zod").ZodDefault<import("zod").ZodEnum<{
635
+ popular: "popular";
636
+ newest: "newest";
637
+ price_asc: "price_asc";
638
+ price_desc: "price_desc";
639
+ }>>;
505
640
  currency: import("zod").ZodDefault<import("zod").ZodEnum<{
506
641
  USD: "USD";
507
642
  RUB: "RUB";
@@ -539,6 +674,28 @@ export declare const ProductEndpoints: {
539
674
  uah: import("zod").ZodString;
540
675
  kzt: import("zod").ZodString;
541
676
  }, import("zod/v4/core").$strip>;
677
+ popularityScore: import("zod").ZodNumber;
678
+ seo: import("zod").ZodObject<{
679
+ metaTitle: import("zod").ZodString;
680
+ metaDescription: import("zod").ZodString;
681
+ ogImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
682
+ canonicalPath: import("zod").ZodString;
683
+ breadcrumb: import("zod").ZodArray<import("zod").ZodObject<{
684
+ id: import("zod").ZodNumber;
685
+ slug: import("zod").ZodString;
686
+ name: import("zod").ZodString;
687
+ }, import("zod/v4/core").$strip>>;
688
+ }, import("zod/v4/core").$strip>;
689
+ media: import("zod").ZodArray<import("zod").ZodObject<{
690
+ id: import("zod").ZodNumber;
691
+ type: import("zod").ZodEnum<{
692
+ IMAGE: "IMAGE";
693
+ VIDEO: "VIDEO";
694
+ }>;
695
+ url: import("zod").ZodString;
696
+ thumbnailUrl: import("zod").ZodNullable<import("zod").ZodString>;
697
+ sortOrder: import("zod").ZodNumber;
698
+ }, import("zod/v4/core").$strip>>;
542
699
  originalTitle: import("zod").ZodNullable<import("zod").ZodString>;
543
700
  catalogImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
544
701
  cardImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
@@ -658,6 +815,28 @@ export declare const ProductEndpoints: {
658
815
  uah: import("zod").ZodString;
659
816
  kzt: import("zod").ZodString;
660
817
  }, import("zod/v4/core").$strip>;
818
+ popularityScore: import("zod").ZodNumber;
819
+ seo: import("zod").ZodObject<{
820
+ metaTitle: import("zod").ZodString;
821
+ metaDescription: import("zod").ZodString;
822
+ ogImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
823
+ canonicalPath: import("zod").ZodString;
824
+ breadcrumb: import("zod").ZodArray<import("zod").ZodObject<{
825
+ id: import("zod").ZodNumber;
826
+ slug: import("zod").ZodString;
827
+ name: import("zod").ZodString;
828
+ }, import("zod/v4/core").$strip>>;
829
+ }, import("zod/v4/core").$strip>;
830
+ media: import("zod").ZodArray<import("zod").ZodObject<{
831
+ id: import("zod").ZodNumber;
832
+ type: import("zod").ZodEnum<{
833
+ IMAGE: "IMAGE";
834
+ VIDEO: "VIDEO";
835
+ }>;
836
+ url: import("zod").ZodString;
837
+ thumbnailUrl: import("zod").ZodNullable<import("zod").ZodString>;
838
+ sortOrder: import("zod").ZodNumber;
839
+ }, import("zod/v4/core").$strip>>;
661
840
  originalTitle: import("zod").ZodNullable<import("zod").ZodString>;
662
841
  catalogImageUrl: import("zod").ZodNullable<import("zod").ZodString>;
663
842
  cardImageUrl: import("zod").ZodNullable<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;AAK3B,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGnB,CAAC"}
@@ -1,4 +1,15 @@
1
1
  import { z } from "zod";
2
+ /**
3
+ * Сортировка общего каталога. `popular` (дефолт) — по оконному рейтингу
4
+ * покупок (`popularityScore`), с тайбрейком по всем продажам и новизне.
5
+ */
6
+ export declare const ProductSortSchema: z.ZodEnum<{
7
+ popular: "popular";
8
+ newest: "newest";
9
+ price_asc: "price_asc";
10
+ price_desc: "price_desc";
11
+ }>;
12
+ export type ProductSort = z.infer<typeof ProductSortSchema>;
2
13
  export declare const ListProductsQuerySchema: z.ZodObject<{
3
14
  skip: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
4
15
  take: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
@@ -16,6 +27,12 @@ export declare const ListProductsQuerySchema: z.ZodObject<{
16
27
  VOUCHER: "VOUCHER";
17
28
  }>>;
18
29
  search: z.ZodOptional<z.ZodString>;
30
+ sort: z.ZodDefault<z.ZodEnum<{
31
+ popular: "popular";
32
+ newest: "newest";
33
+ price_asc: "price_asc";
34
+ price_desc: "price_desc";
35
+ }>>;
19
36
  currency: z.ZodDefault<z.ZodEnum<{
20
37
  USD: "USD";
21
38
  RUB: "RUB";
@@ -43,6 +60,12 @@ export declare const ListProductsEndpoint: {
43
60
  VOUCHER: "VOUCHER";
44
61
  }>>;
45
62
  search: z.ZodOptional<z.ZodString>;
63
+ sort: z.ZodDefault<z.ZodEnum<{
64
+ popular: "popular";
65
+ newest: "newest";
66
+ price_asc: "price_asc";
67
+ price_desc: "price_desc";
68
+ }>>;
46
69
  currency: z.ZodDefault<z.ZodEnum<{
47
70
  USD: "USD";
48
71
  RUB: "RUB";
@@ -80,6 +103,18 @@ export declare const ListProductsEndpoint: {
80
103
  uah: z.ZodString;
81
104
  kzt: z.ZodString;
82
105
  }, z.core.$strip>;
106
+ popularityScore: z.ZodNumber;
107
+ seo: z.ZodObject<{
108
+ metaTitle: z.ZodString;
109
+ metaDescription: z.ZodString;
110
+ ogImageUrl: z.ZodNullable<z.ZodString>;
111
+ canonicalPath: z.ZodString;
112
+ breadcrumb: z.ZodArray<z.ZodObject<{
113
+ id: z.ZodNumber;
114
+ slug: z.ZodString;
115
+ name: z.ZodString;
116
+ }, z.core.$strip>>;
117
+ }, z.core.$strip>;
83
118
  variants: z.ZodArray<z.ZodObject<{
84
119
  id: z.ZodNumber;
85
120
  name: z.ZodString;
@@ -105,6 +140,16 @@ export declare const ListProductsEndpoint: {
105
140
  }>>;
106
141
  isActive: z.ZodBoolean;
107
142
  }, z.core.$strip>>;
143
+ media: z.ZodArray<z.ZodObject<{
144
+ id: z.ZodNumber;
145
+ type: z.ZodEnum<{
146
+ IMAGE: "IMAGE";
147
+ VIDEO: "VIDEO";
148
+ }>;
149
+ url: z.ZodString;
150
+ thumbnailUrl: z.ZodNullable<z.ZodString>;
151
+ sortOrder: z.ZodNumber;
152
+ }, z.core.$strip>>;
108
153
  }, z.core.$strip>>;
109
154
  total: z.ZodNumber;
110
155
  skip: z.ZodNumber;
@@ -162,6 +207,18 @@ export declare const GetProductBySlugEndpoint: {
162
207
  uah: z.ZodString;
163
208
  kzt: z.ZodString;
164
209
  }, z.core.$strip>;
210
+ popularityScore: z.ZodNumber;
211
+ seo: z.ZodObject<{
212
+ metaTitle: z.ZodString;
213
+ metaDescription: z.ZodString;
214
+ ogImageUrl: z.ZodNullable<z.ZodString>;
215
+ canonicalPath: z.ZodString;
216
+ breadcrumb: z.ZodArray<z.ZodObject<{
217
+ id: z.ZodNumber;
218
+ slug: z.ZodString;
219
+ name: z.ZodString;
220
+ }, z.core.$strip>>;
221
+ }, z.core.$strip>;
165
222
  variants: z.ZodArray<z.ZodObject<{
166
223
  id: z.ZodNumber;
167
224
  name: z.ZodString;
@@ -187,6 +244,16 @@ export declare const GetProductBySlugEndpoint: {
187
244
  }>>;
188
245
  isActive: z.ZodBoolean;
189
246
  }, z.core.$strip>>;
247
+ media: z.ZodArray<z.ZodObject<{
248
+ id: z.ZodNumber;
249
+ type: z.ZodEnum<{
250
+ IMAGE: "IMAGE";
251
+ VIDEO: "VIDEO";
252
+ }>;
253
+ url: z.ZodString;
254
+ thumbnailUrl: z.ZodNullable<z.ZodString>;
255
+ sortOrder: z.ZodNumber;
256
+ }, z.core.$strip>>;
190
257
  }, z.core.$strip>;
191
258
  };
192
259
  export declare const GetVariantStockEndpoint: {
@@ -222,6 +289,12 @@ export declare const ListAdminProductsEndpoint: {
222
289
  VOUCHER: "VOUCHER";
223
290
  }>>;
224
291
  search: z.ZodOptional<z.ZodString>;
292
+ sort: z.ZodDefault<z.ZodEnum<{
293
+ popular: "popular";
294
+ newest: "newest";
295
+ price_asc: "price_asc";
296
+ price_desc: "price_desc";
297
+ }>>;
225
298
  currency: z.ZodDefault<z.ZodEnum<{
226
299
  USD: "USD";
227
300
  RUB: "RUB";
@@ -259,6 +332,28 @@ export declare const ListAdminProductsEndpoint: {
259
332
  uah: z.ZodString;
260
333
  kzt: z.ZodString;
261
334
  }, z.core.$strip>;
335
+ popularityScore: z.ZodNumber;
336
+ seo: z.ZodObject<{
337
+ metaTitle: z.ZodString;
338
+ metaDescription: z.ZodString;
339
+ ogImageUrl: z.ZodNullable<z.ZodString>;
340
+ canonicalPath: z.ZodString;
341
+ breadcrumb: z.ZodArray<z.ZodObject<{
342
+ id: z.ZodNumber;
343
+ slug: z.ZodString;
344
+ name: z.ZodString;
345
+ }, z.core.$strip>>;
346
+ }, z.core.$strip>;
347
+ media: z.ZodArray<z.ZodObject<{
348
+ id: z.ZodNumber;
349
+ type: z.ZodEnum<{
350
+ IMAGE: "IMAGE";
351
+ VIDEO: "VIDEO";
352
+ }>;
353
+ url: z.ZodString;
354
+ thumbnailUrl: z.ZodNullable<z.ZodString>;
355
+ sortOrder: z.ZodNumber;
356
+ }, z.core.$strip>>;
262
357
  originalTitle: z.ZodNullable<z.ZodString>;
263
358
  catalogImageUrl: z.ZodNullable<z.ZodString>;
264
359
  cardImageUrl: z.ZodNullable<z.ZodString>;
@@ -378,6 +473,28 @@ export declare const GetAdminProductBySlugEndpoint: {
378
473
  uah: z.ZodString;
379
474
  kzt: z.ZodString;
380
475
  }, z.core.$strip>;
476
+ popularityScore: z.ZodNumber;
477
+ seo: z.ZodObject<{
478
+ metaTitle: z.ZodString;
479
+ metaDescription: z.ZodString;
480
+ ogImageUrl: z.ZodNullable<z.ZodString>;
481
+ canonicalPath: z.ZodString;
482
+ breadcrumb: z.ZodArray<z.ZodObject<{
483
+ id: z.ZodNumber;
484
+ slug: z.ZodString;
485
+ name: z.ZodString;
486
+ }, z.core.$strip>>;
487
+ }, z.core.$strip>;
488
+ media: z.ZodArray<z.ZodObject<{
489
+ id: z.ZodNumber;
490
+ type: z.ZodEnum<{
491
+ IMAGE: "IMAGE";
492
+ VIDEO: "VIDEO";
493
+ }>;
494
+ url: z.ZodString;
495
+ thumbnailUrl: z.ZodNullable<z.ZodString>;
496
+ sortOrder: z.ZodNumber;
497
+ }, z.core.$strip>>;
381
498
  originalTitle: z.ZodNullable<z.ZodString>;
382
499
  catalogImageUrl: z.ZodNullable<z.ZodString>;
383
500
  cardImageUrl: z.ZodNullable<z.ZodString>;
@@ -471,6 +588,12 @@ export declare const ProductQueries: {
471
588
  VOUCHER: "VOUCHER";
472
589
  }>>;
473
590
  search: z.ZodOptional<z.ZodString>;
591
+ sort: z.ZodDefault<z.ZodEnum<{
592
+ popular: "popular";
593
+ newest: "newest";
594
+ price_asc: "price_asc";
595
+ price_desc: "price_desc";
596
+ }>>;
474
597
  currency: z.ZodDefault<z.ZodEnum<{
475
598
  USD: "USD";
476
599
  RUB: "RUB";
@@ -508,6 +631,18 @@ export declare const ProductQueries: {
508
631
  uah: z.ZodString;
509
632
  kzt: z.ZodString;
510
633
  }, z.core.$strip>;
634
+ popularityScore: z.ZodNumber;
635
+ seo: z.ZodObject<{
636
+ metaTitle: z.ZodString;
637
+ metaDescription: z.ZodString;
638
+ ogImageUrl: z.ZodNullable<z.ZodString>;
639
+ canonicalPath: z.ZodString;
640
+ breadcrumb: z.ZodArray<z.ZodObject<{
641
+ id: z.ZodNumber;
642
+ slug: z.ZodString;
643
+ name: z.ZodString;
644
+ }, z.core.$strip>>;
645
+ }, z.core.$strip>;
511
646
  variants: z.ZodArray<z.ZodObject<{
512
647
  id: z.ZodNumber;
513
648
  name: z.ZodString;
@@ -533,6 +668,16 @@ export declare const ProductQueries: {
533
668
  }>>;
534
669
  isActive: z.ZodBoolean;
535
670
  }, z.core.$strip>>;
671
+ media: z.ZodArray<z.ZodObject<{
672
+ id: z.ZodNumber;
673
+ type: z.ZodEnum<{
674
+ IMAGE: "IMAGE";
675
+ VIDEO: "VIDEO";
676
+ }>;
677
+ url: z.ZodString;
678
+ thumbnailUrl: z.ZodNullable<z.ZodString>;
679
+ sortOrder: z.ZodNumber;
680
+ }, z.core.$strip>>;
536
681
  }, z.core.$strip>>;
537
682
  total: z.ZodNumber;
538
683
  skip: z.ZodNumber;
@@ -582,6 +727,18 @@ export declare const ProductQueries: {
582
727
  uah: z.ZodString;
583
728
  kzt: z.ZodString;
584
729
  }, z.core.$strip>;
730
+ popularityScore: z.ZodNumber;
731
+ seo: z.ZodObject<{
732
+ metaTitle: z.ZodString;
733
+ metaDescription: z.ZodString;
734
+ ogImageUrl: z.ZodNullable<z.ZodString>;
735
+ canonicalPath: z.ZodString;
736
+ breadcrumb: z.ZodArray<z.ZodObject<{
737
+ id: z.ZodNumber;
738
+ slug: z.ZodString;
739
+ name: z.ZodString;
740
+ }, z.core.$strip>>;
741
+ }, z.core.$strip>;
585
742
  variants: z.ZodArray<z.ZodObject<{
586
743
  id: z.ZodNumber;
587
744
  name: z.ZodString;
@@ -607,6 +764,16 @@ export declare const ProductQueries: {
607
764
  }>>;
608
765
  isActive: z.ZodBoolean;
609
766
  }, z.core.$strip>>;
767
+ media: z.ZodArray<z.ZodObject<{
768
+ id: z.ZodNumber;
769
+ type: z.ZodEnum<{
770
+ IMAGE: "IMAGE";
771
+ VIDEO: "VIDEO";
772
+ }>;
773
+ url: z.ZodString;
774
+ thumbnailUrl: z.ZodNullable<z.ZodString>;
775
+ sortOrder: z.ZodNumber;
776
+ }, z.core.$strip>>;
610
777
  }, z.core.$strip>;
611
778
  };
612
779
  readonly getVariantStock: {
@@ -642,6 +809,12 @@ export declare const ProductQueries: {
642
809
  VOUCHER: "VOUCHER";
643
810
  }>>;
644
811
  search: z.ZodOptional<z.ZodString>;
812
+ sort: z.ZodDefault<z.ZodEnum<{
813
+ popular: "popular";
814
+ newest: "newest";
815
+ price_asc: "price_asc";
816
+ price_desc: "price_desc";
817
+ }>>;
645
818
  currency: z.ZodDefault<z.ZodEnum<{
646
819
  USD: "USD";
647
820
  RUB: "RUB";
@@ -679,6 +852,28 @@ export declare const ProductQueries: {
679
852
  uah: z.ZodString;
680
853
  kzt: z.ZodString;
681
854
  }, z.core.$strip>;
855
+ popularityScore: z.ZodNumber;
856
+ seo: z.ZodObject<{
857
+ metaTitle: z.ZodString;
858
+ metaDescription: z.ZodString;
859
+ ogImageUrl: z.ZodNullable<z.ZodString>;
860
+ canonicalPath: z.ZodString;
861
+ breadcrumb: z.ZodArray<z.ZodObject<{
862
+ id: z.ZodNumber;
863
+ slug: z.ZodString;
864
+ name: z.ZodString;
865
+ }, z.core.$strip>>;
866
+ }, z.core.$strip>;
867
+ media: z.ZodArray<z.ZodObject<{
868
+ id: z.ZodNumber;
869
+ type: z.ZodEnum<{
870
+ IMAGE: "IMAGE";
871
+ VIDEO: "VIDEO";
872
+ }>;
873
+ url: z.ZodString;
874
+ thumbnailUrl: z.ZodNullable<z.ZodString>;
875
+ sortOrder: z.ZodNumber;
876
+ }, z.core.$strip>>;
682
877
  originalTitle: z.ZodNullable<z.ZodString>;
683
878
  catalogImageUrl: z.ZodNullable<z.ZodString>;
684
879
  cardImageUrl: z.ZodNullable<z.ZodString>;
@@ -798,6 +993,28 @@ export declare const ProductQueries: {
798
993
  uah: z.ZodString;
799
994
  kzt: z.ZodString;
800
995
  }, z.core.$strip>;
996
+ popularityScore: z.ZodNumber;
997
+ seo: z.ZodObject<{
998
+ metaTitle: z.ZodString;
999
+ metaDescription: z.ZodString;
1000
+ ogImageUrl: z.ZodNullable<z.ZodString>;
1001
+ canonicalPath: z.ZodString;
1002
+ breadcrumb: z.ZodArray<z.ZodObject<{
1003
+ id: z.ZodNumber;
1004
+ slug: z.ZodString;
1005
+ name: z.ZodString;
1006
+ }, z.core.$strip>>;
1007
+ }, z.core.$strip>;
1008
+ media: z.ZodArray<z.ZodObject<{
1009
+ id: z.ZodNumber;
1010
+ type: z.ZodEnum<{
1011
+ IMAGE: "IMAGE";
1012
+ VIDEO: "VIDEO";
1013
+ }>;
1014
+ url: z.ZodString;
1015
+ thumbnailUrl: z.ZodNullable<z.ZodString>;
1016
+ sortOrder: z.ZodNumber;
1017
+ }, z.core.$strip>>;
801
1018
  originalTitle: z.ZodNullable<z.ZodString>;
802
1019
  catalogImageUrl: z.ZodNullable<z.ZodString>;
803
1020
  cardImageUrl: z.ZodNullable<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,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;iBAOlC,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"}
@@ -1,17 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProductQueries = exports.GetAdminProductBySlugEndpoint = exports.ListAdminProductsEndpoint = exports.GetVariantStockEndpoint = exports.GetProductBySlugEndpoint = exports.GetProductBySlugQuerySchema = exports.ListProductsEndpoint = exports.ListProductsQuerySchema = void 0;
3
+ exports.ProductQueries = exports.GetAdminProductBySlugEndpoint = exports.ListAdminProductsEndpoint = exports.GetVariantStockEndpoint = exports.GetProductBySlugEndpoint = exports.GetProductBySlugQuerySchema = exports.ListProductsEndpoint = exports.ListProductsQuerySchema = exports.ProductSortSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_1 = require("../../shared/common");
6
6
  const pagination_1 = require("../../shared/pagination");
7
7
  const money_1 = require("../../shared/money");
8
8
  const dtos_1 = require("./dtos");
9
+ /**
10
+ * Сортировка общего каталога. `popular` (дефолт) — по оконному рейтингу
11
+ * покупок (`popularityScore`), с тайбрейком по всем продажам и новизне.
12
+ */
13
+ exports.ProductSortSchema = zod_1.z.enum(["popular", "newest", "price_asc", "price_desc"]);
9
14
  exports.ListProductsQuerySchema = pagination_1.PaginationQuerySchema.extend({
10
15
  showcaseId: zod_1.z.coerce.number().int().positive().optional(),
11
16
  subShowcaseId: zod_1.z.coerce.number().int().positive().optional(),
12
17
  categoryId: zod_1.z.coerce.number().int().positive().optional(),
13
18
  type: dtos_1.ProductTypeSchema.optional(),
14
19
  search: zod_1.z.string().max(64).optional(),
20
+ sort: exports.ProductSortSchema.default("popular"),
15
21
  currency: money_1.CurrencySchema.default("RUB"),
16
22
  });
17
23
  exports.ListProductsEndpoint = {
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/domains/products/queries.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,gDAAqE;AACrE,wDAAyF;AACzF,8CAAoD;AACpD,iCAAkG;AAErF,QAAA,uBAAuB,GAAG,kCAAqB,CAAC,MAAM,CAAC;IACnE,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzD,aAAa,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5D,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzD,IAAI,EAAE,wBAAiB,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,QAAQ,EAAE,sBAAc,CAAC,OAAO,CAAC,KAAK,CAAC;CACvC,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG;IACnC,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,+BAAuB;IAC9B,QAAQ,EAAE,IAAA,oCAAuB,EAAC,oBAAa,CAAC;CACZ,CAAC;AAEzB,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,sBAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACpF,QAAA,wBAAwB,GAAG;IACvC,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,wBAAe;IACvB,KAAK,EAAE,mCAA2B;IAClC,QAAQ,EAAE,oBAAa;CACa,CAAC;AAEzB,QAAA,uBAAuB,GAAG;IACtC,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,iCAAiC;IACvC,MAAM,EAAE,sBAAa;IACrB,QAAQ,EAAE,yBAAkB;CACQ,CAAC;AAEzB,QAAA,yBAAyB,GAAG;IACxC,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,+BAAuB;IAC9B,QAAQ,EAAE,IAAA,oCAAuB,EAAC,yBAAkB,CAAC;IACrD,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;CACiB,CAAC;AAEzB,QAAA,6BAA6B,GAAG;IAC5C,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,mCAAmC;IACzC,MAAM,EAAE,wBAAe;IACvB,KAAK,EAAE,mCAA2B;IAClC,QAAQ,EAAE,yBAAkB;IAC5B,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;CACiB,CAAC;AAEzB,QAAA,cAAc,GAAG;IAC7B,IAAI,EAAE,4BAAoB;IAC1B,SAAS,EAAE,gCAAwB;IACnC,eAAe,EAAE,+BAAuB;IACxC,SAAS,EAAE,iCAAyB;IACpC,cAAc,EAAE,qCAA6B;CACpC,CAAC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/domains/products/queries.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,gDAAqE;AACrE,wDAAyF;AACzF,8CAAoD;AACpD,iCAAkG;AAElG;;;GAGG;AACU,QAAA,iBAAiB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAG7E,QAAA,uBAAuB,GAAG,kCAAqB,CAAC,MAAM,CAAC;IACnE,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzD,aAAa,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5D,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzD,IAAI,EAAE,wBAAiB,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,IAAI,EAAE,yBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1C,QAAQ,EAAE,sBAAc,CAAC,OAAO,CAAC,KAAK,CAAC;CACvC,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG;IACnC,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,+BAAuB;IAC9B,QAAQ,EAAE,IAAA,oCAAuB,EAAC,oBAAa,CAAC;CACZ,CAAC;AAEzB,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,sBAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACpF,QAAA,wBAAwB,GAAG;IACvC,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,wBAAe;IACvB,KAAK,EAAE,mCAA2B;IAClC,QAAQ,EAAE,oBAAa;CACa,CAAC;AAEzB,QAAA,uBAAuB,GAAG;IACtC,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,iCAAiC;IACvC,MAAM,EAAE,sBAAa;IACrB,QAAQ,EAAE,yBAAkB;CACQ,CAAC;AAEzB,QAAA,yBAAyB,GAAG;IACxC,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,+BAAuB;IAC9B,QAAQ,EAAE,IAAA,oCAAuB,EAAC,yBAAkB,CAAC;IACrD,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;CACiB,CAAC;AAEzB,QAAA,6BAA6B,GAAG;IAC5C,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,mCAAmC;IACzC,MAAM,EAAE,wBAAe;IACvB,KAAK,EAAE,mCAA2B;IAClC,QAAQ,EAAE,yBAAkB;IAC5B,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;CACiB,CAAC;AAEzB,QAAA,cAAc,GAAG;IAC7B,IAAI,EAAE,4BAAoB;IAC1B,SAAS,EAAE,gCAAwB;IACnC,eAAe,EAAE,+BAAuB;IACxC,SAAS,EAAE,iCAAyB;IACpC,cAAc,EAAE,qCAA6B;CACpC,CAAC"}