@ecomiq/core 0.1.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.
Files changed (68) hide show
  1. package/README.md +42 -0
  2. package/dist/api.cjs +99 -0
  3. package/dist/api.cjs.map +1 -0
  4. package/dist/api.d.cts +52 -0
  5. package/dist/api.d.ts +52 -0
  6. package/dist/api.js +93 -0
  7. package/dist/api.js.map +1 -0
  8. package/dist/client.cjs +1344 -0
  9. package/dist/client.cjs.map +1 -0
  10. package/dist/client.d.cts +82 -0
  11. package/dist/client.d.ts +82 -0
  12. package/dist/client.js +1341 -0
  13. package/dist/client.js.map +1 -0
  14. package/dist/index.cjs +1611 -0
  15. package/dist/index.cjs.map +1 -0
  16. package/dist/index.d.cts +1109 -0
  17. package/dist/index.d.ts +1109 -0
  18. package/dist/index.js +1450 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/models/collections.cjs +20 -0
  21. package/dist/models/collections.cjs.map +1 -0
  22. package/dist/models/collections.d.cts +56 -0
  23. package/dist/models/collections.d.ts +56 -0
  24. package/dist/models/collections.js +17 -0
  25. package/dist/models/collections.js.map +1 -0
  26. package/dist/models/geo.cjs +62 -0
  27. package/dist/models/geo.cjs.map +1 -0
  28. package/dist/models/geo.d.cts +279 -0
  29. package/dist/models/geo.d.ts +279 -0
  30. package/dist/models/geo.js +48 -0
  31. package/dist/models/geo.js.map +1 -0
  32. package/dist/models/products.cjs +212 -0
  33. package/dist/models/products.cjs.map +1 -0
  34. package/dist/models/products.d.cts +1421 -0
  35. package/dist/models/products.d.ts +1421 -0
  36. package/dist/models/products.js +187 -0
  37. package/dist/models/products.js.map +1 -0
  38. package/dist/models/search.cjs +200 -0
  39. package/dist/models/search.cjs.map +1 -0
  40. package/dist/models/search.d.cts +51 -0
  41. package/dist/models/search.d.ts +51 -0
  42. package/dist/models/search.js +196 -0
  43. package/dist/models/search.js.map +1 -0
  44. package/dist/models/settings.cjs +285 -0
  45. package/dist/models/settings.cjs.map +1 -0
  46. package/dist/models/settings.d.cts +7039 -0
  47. package/dist/models/settings.d.ts +7039 -0
  48. package/dist/models/settings.js +239 -0
  49. package/dist/models/settings.js.map +1 -0
  50. package/dist/models/storefront-cart.cjs +148 -0
  51. package/dist/models/storefront-cart.cjs.map +1 -0
  52. package/dist/models/storefront-cart.d.cts +747 -0
  53. package/dist/models/storefront-cart.d.ts +747 -0
  54. package/dist/models/storefront-cart.js +133 -0
  55. package/dist/models/storefront-cart.js.map +1 -0
  56. package/dist/models/storefront-checkout.cjs +307 -0
  57. package/dist/models/storefront-checkout.cjs.map +1 -0
  58. package/dist/models/storefront-checkout.d.cts +4122 -0
  59. package/dist/models/storefront-checkout.d.ts +4122 -0
  60. package/dist/models/storefront-checkout.js +288 -0
  61. package/dist/models/storefront-checkout.js.map +1 -0
  62. package/dist/models/storefront-reviews.cjs +223 -0
  63. package/dist/models/storefront-reviews.cjs.map +1 -0
  64. package/dist/models/storefront-reviews.d.cts +147 -0
  65. package/dist/models/storefront-reviews.d.ts +147 -0
  66. package/dist/models/storefront-reviews.js +218 -0
  67. package/dist/models/storefront-reviews.js.map +1 -0
  68. package/package.json +109 -0
@@ -0,0 +1,288 @@
1
+ import { z } from 'zod';
2
+
3
+ // src/models/storefront-checkout.ts
4
+ var StorefrontAddressSchema = z.object({
5
+ name: z.string().nullable(),
6
+ address1: z.string(),
7
+ city: z.string(),
8
+ countryCode: z.string(),
9
+ company: z.string().nullable(),
10
+ address2: z.string().nullable(),
11
+ province: z.string().nullable(),
12
+ postalCode: z.string().nullable(),
13
+ district: z.string().nullable(),
14
+ phone: z.string().nullable(),
15
+ latitude: z.number().nullable(),
16
+ longitude: z.number().nullable()
17
+ });
18
+ var StorefrontCartBundleItemSchema = z.object({
19
+ productId: z.number().int().safe().nonnegative(),
20
+ variantId: z.number().int().safe().nonnegative(),
21
+ productName: z.string(),
22
+ variantName: z.string().nullable(),
23
+ sku: z.string().nullable(),
24
+ brand: z.string().nullable(),
25
+ imageUrl: z.string().nullable(),
26
+ quantity: z.number().int().positive()
27
+ });
28
+ var StorefrontCartItemSchema = z.object({
29
+ id: z.string().uuid(),
30
+ productId: z.number().int().safe().nonnegative(),
31
+ title: z.string(),
32
+ variantLabel: z.string().nullable(),
33
+ productHandle: z.string().nullable(),
34
+ thumbnail: z.string().nullable(),
35
+ quantity: z.number().int().positive(),
36
+ variantId: z.number().int().safe().nonnegative(),
37
+ variantSku: z.string().nullable(),
38
+ unitPrice: z.number(),
39
+ compareAtUnitPrice: z.number().nullable(),
40
+ bundleItems: z.array(StorefrontCartBundleItemSchema)
41
+ });
42
+ var StorefrontCartShippingMethodSchema = z.object({
43
+ id: z.string().uuid(),
44
+ shippingMethodId: z.string().uuid().nullable(),
45
+ rateId: z.string().uuid().nullable(),
46
+ name: z.string(),
47
+ description: z.string().nullable(),
48
+ total: z.number(),
49
+ locationId: z.string().uuid().nullable(),
50
+ estimatedDays: z.number().int().nullable(),
51
+ pickupPointId: z.string().uuid().nullable(),
52
+ scheduledDate: z.string().nullable(),
53
+ scheduledTime: z.string().nullable(),
54
+ serviceCode: z.string().nullable(),
55
+ sellerId: z.string().uuid().nullable(),
56
+ shippingProfileId: z.string().uuid().nullable()
57
+ });
58
+ var StorefrontCartTotalsSchema = z.object({
59
+ subtotal: z.number(),
60
+ discountTotal: z.number(),
61
+ shippingOriginalTotal: z.number(),
62
+ shippingTotal: z.number(),
63
+ taxTotal: z.number(),
64
+ warrantyTotal: z.number(),
65
+ total: z.number()
66
+ });
67
+ var StorefrontCartStatusSchema = z.enum([
68
+ "inProgress",
69
+ "pending",
70
+ "completed",
71
+ "abandoned",
72
+ "cancelled",
73
+ "expired",
74
+ "failed"
75
+ ]);
76
+ var StorefrontCartSchema = z.object({
77
+ id: z.string().uuid(),
78
+ cartNumber: z.string(),
79
+ email: z.string().nullable(),
80
+ phone: z.string().nullable(),
81
+ firstName: z.string().nullable(),
82
+ lastName: z.string().nullable(),
83
+ currencyCode: z.string(),
84
+ status: StorefrontCartStatusSchema,
85
+ completedAt: z.string().datetime({ offset: true }).nullable(),
86
+ shippingAddress: StorefrontAddressSchema.nullable(),
87
+ billingAddress: StorefrontAddressSchema.nullable(),
88
+ promotionCodes: z.array(z.string()),
89
+ items: z.array(StorefrontCartItemSchema),
90
+ shippingMethods: z.array(StorefrontCartShippingMethodSchema),
91
+ totals: StorefrontCartTotalsSchema
92
+ });
93
+ z.object({
94
+ currencyCode: z.string().length(3),
95
+ salesChannelId: z.string().optional(),
96
+ email: z.string().email().optional()
97
+ });
98
+ z.object({
99
+ cartId: z.string().uuid()
100
+ });
101
+ var CartItemModifierSchema = z.object({
102
+ modifierGroupId: z.number().int().safe().positive(),
103
+ optionIds: z.array(z.number().int().safe().positive()).min(1)
104
+ });
105
+ z.object({
106
+ cartId: z.string().uuid(),
107
+ variantId: z.number().int().safe().positive(),
108
+ quantity: z.number().int().positive(),
109
+ modifiers: z.array(CartItemModifierSchema).optional()
110
+ });
111
+ z.object({
112
+ cartId: z.string().uuid(),
113
+ cartItemId: z.string().uuid(),
114
+ quantity: z.number().int().nonnegative()
115
+ });
116
+ z.object({
117
+ cartId: z.string().uuid(),
118
+ cartItemId: z.string().uuid()
119
+ });
120
+
121
+ // src/models/storefront-checkout.ts
122
+ var CartBuyerParamsSchema = z.object({
123
+ cartId: z.string().uuid(),
124
+ email: z.string().email(),
125
+ firstName: z.string().min(1),
126
+ lastName: z.string().min(1),
127
+ phone: z.string().min(1)
128
+ });
129
+ var CartAddressWriteSchema = z.object({
130
+ name: z.string().min(1),
131
+ address1: z.string().min(1),
132
+ city: z.string().min(1),
133
+ countryCode: z.string().length(2),
134
+ company: z.string().nullable().optional(),
135
+ address2: z.string().nullable().optional(),
136
+ province: z.string().nullable().optional(),
137
+ postalCode: z.string().nullable().optional(),
138
+ district: z.string().nullable().optional(),
139
+ phone: z.string().nullable().optional(),
140
+ latitude: z.number().nullable().optional(),
141
+ longitude: z.number().nullable().optional(),
142
+ geo: z.object({
143
+ departmentCode: z.string().nullable().optional(),
144
+ provinceCode: z.string().nullable().optional(),
145
+ districtCode: z.string().nullable().optional()
146
+ }).nullable().optional()
147
+ });
148
+ var CartAddressesParamsSchema = z.object({
149
+ cartId: z.string().uuid(),
150
+ shippingAddress: CartAddressWriteSchema,
151
+ billingAddress: CartAddressWriteSchema
152
+ });
153
+ var CartPaymentMethodSchema = z.object({
154
+ code: z.string(),
155
+ name: z.string(),
156
+ description: z.string().nullable().optional(),
157
+ kind: z.string(),
158
+ providerMethodCode: z.string().nullable().optional(),
159
+ isActive: z.boolean(),
160
+ isDefault: z.boolean(),
161
+ isManual: z.boolean(),
162
+ sortOrder: z.number(),
163
+ phoneNumber: z.string().nullable().optional(),
164
+ accountHolder: z.string().nullable().optional(),
165
+ qrImageUrl: z.string().nullable().optional()
166
+ });
167
+ var StorefrontOrderBumpSchema = z.object({
168
+ id: z.string(),
169
+ productPublicId: z.coerce.string(),
170
+ variantPublicId: z.coerce.string(),
171
+ productName: z.string(),
172
+ variantName: z.string().nullable().optional(),
173
+ imageUrl: z.string().nullable().optional(),
174
+ currencyCode: z.string(),
175
+ regularPrice: z.number(),
176
+ offerPrice: z.number(),
177
+ badgeLabel: z.string().nullable().optional(),
178
+ callToAction: z.string(),
179
+ description: z.string().nullable().optional()
180
+ });
181
+ var CartCheckoutReadParamsSchema = z.object({
182
+ cartId: z.string().uuid()
183
+ });
184
+ var CartCheckoutReadResponseSchema = z.object({
185
+ cart: StorefrontCartSchema,
186
+ paymentMethods: z.object({
187
+ methods: z.array(CartPaymentMethodSchema)
188
+ }),
189
+ orderBumps: z.array(StorefrontOrderBumpSchema).optional().default([])
190
+ });
191
+ var CartCheckoutPaymentActionSchema = z.object({
192
+ publicConfiguration: z.object({
193
+ publishableKey: z.string().nullable().optional(),
194
+ checkoutMode: z.string().nullable().optional(),
195
+ phoneNumber: z.string().nullable().optional(),
196
+ accountHolder: z.string().nullable().optional(),
197
+ qrImageUrl: z.string().nullable().optional()
198
+ }).passthrough().nullable().optional(),
199
+ url: z.string().nullable().optional(),
200
+ html: z.string().nullable().optional(),
201
+ clientSecret: z.string().nullable().optional(),
202
+ qrCode: z.string().nullable().optional(),
203
+ expiresAt: z.string().nullable().optional()
204
+ }).passthrough();
205
+ var CartCheckoutPaymentSchema = z.object({
206
+ transactionId: z.string(),
207
+ paymentMethodCode: z.string(),
208
+ providerId: z.string().nullable().optional(),
209
+ status: z.string(),
210
+ amount: z.number(),
211
+ reference: z.string(),
212
+ actionType: z.string(),
213
+ receiptUrl: z.string().nullable().optional(),
214
+ action: CartCheckoutPaymentActionSchema.nullable().optional()
215
+ }).passthrough();
216
+ var CartCheckoutResponseSchema = z.object({
217
+ publicKey: z.string().optional(),
218
+ publishableKey: z.string().optional(),
219
+ stripePublicKey: z.string().optional(),
220
+ clientSecret: z.string().optional(),
221
+ intentClientSecret: z.string().optional(),
222
+ orderId: z.coerce.string().optional(),
223
+ orderGroup: z.string().optional(),
224
+ orderIds: z.array(z.coerce.string()).optional(),
225
+ payment: CartCheckoutPaymentSchema.optional(),
226
+ cart: StorefrontCartSchema.optional()
227
+ }).passthrough();
228
+ var CartCheckoutParamsSchema = z.object({
229
+ cartId: z.string().uuid(),
230
+ paymentMethodCode: z.string().min(1),
231
+ externalRef: z.string().min(1),
232
+ receiptUrl: z.string().min(1).optional()
233
+ });
234
+ var ShippingRateSchema = z.object({
235
+ shippingMethodId: z.string(),
236
+ name: z.string(),
237
+ displayName: z.string().optional(),
238
+ type: z.string().optional(),
239
+ price: z.number(),
240
+ currency: z.string().optional(),
241
+ sortOrder: z.number().optional(),
242
+ rateId: z.string(),
243
+ description: z.string().nullable().optional(),
244
+ deliveryLocationId: z.string().nullable().optional(),
245
+ deliveryLocationName: z.string().nullable().optional(),
246
+ estimatedDeliveryDays: z.number().nullable().optional(),
247
+ serviceCode: z.string().nullable().optional(),
248
+ metadata: z.record(z.string(), z.unknown()).optional()
249
+ }).passthrough();
250
+ var ShippingOptionGroupSchema = z.object({
251
+ sellerId: z.string(),
252
+ shippingProfileId: z.string().nullable().optional(),
253
+ orderAmount: z.number().optional(),
254
+ totalWeight: z.number().optional(),
255
+ itemIds: z.array(z.string()).optional(),
256
+ rates: z.array(ShippingRateSchema)
257
+ }).passthrough();
258
+ var ShippingOptionsResponseSchema = z.object({
259
+ groups: z.array(ShippingOptionGroupSchema)
260
+ });
261
+ var GetShippingOptionsParamsSchema = z.object({
262
+ cartId: z.string().uuid(),
263
+ postalCode: z.string().min(1)
264
+ });
265
+ var PutShippingMethodParamsSchema = z.object({
266
+ cartId: z.string().uuid(),
267
+ rateId: z.string().min(1),
268
+ shippingMethodId: z.string().min(1),
269
+ serviceCode: z.string().nullable().optional(),
270
+ sellerId: z.string().nullable().optional(),
271
+ shippingProfileId: z.string().nullable().optional(),
272
+ locationId: z.string().nullable().optional(),
273
+ pickupPointId: z.string().nullable().optional(),
274
+ scheduledDate: z.string().nullable().optional(),
275
+ scheduledTime: z.string().nullable().optional()
276
+ });
277
+ var CartPaymentReceiptResponseSchema = z.object({
278
+ id: z.string(),
279
+ url: z.string()
280
+ });
281
+ var CartPromotionCodeParamsSchema = z.object({
282
+ cartId: z.string().uuid(),
283
+ code: z.string().min(1)
284
+ });
285
+
286
+ export { CartAddressWriteSchema, CartAddressesParamsSchema, CartBuyerParamsSchema, CartCheckoutParamsSchema, CartCheckoutPaymentActionSchema, CartCheckoutPaymentSchema, CartCheckoutReadParamsSchema, CartCheckoutReadResponseSchema, CartCheckoutResponseSchema, CartPaymentMethodSchema, CartPaymentReceiptResponseSchema, CartPromotionCodeParamsSchema, GetShippingOptionsParamsSchema, PutShippingMethodParamsSchema, ShippingOptionGroupSchema, ShippingOptionsResponseSchema, ShippingRateSchema, StorefrontOrderBumpSchema };
287
+ //# sourceMappingURL=storefront-checkout.js.map
288
+ //# sourceMappingURL=storefront-checkout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/models/storefront-cart.ts","../../src/models/storefront-checkout.ts"],"names":["z"],"mappings":"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","file":"storefront-checkout.js","sourcesContent":["import { z } from 'zod'\n\nexport function cartVariantIdFromProduct(variantId: string): number {\n if (!/^\\d+$/.test(variantId)) {\n throw new RangeError('El variant ID debe ser un integer decimal positivo.')\n }\n\n const value = BigInt(variantId)\n if (value <= 0n || value > BigInt(Number.MAX_SAFE_INTEGER)) {\n throw new RangeError('El variant ID no cabe en un integer seguro de JavaScript.')\n }\n\n return Number(value)\n}\n\nexport const StorefrontAddressSchema = z.object({\n name: z.string().nullable(),\n address1: z.string(),\n city: z.string(),\n countryCode: z.string(),\n company: z.string().nullable(),\n address2: z.string().nullable(),\n province: z.string().nullable(),\n postalCode: z.string().nullable(),\n district: z.string().nullable(),\n phone: z.string().nullable(),\n latitude: z.number().nullable(),\n longitude: z.number().nullable(),\n})\n\nexport const StorefrontCartBundleItemSchema = z.object({\n productId: z.number().int().safe().nonnegative(),\n variantId: z.number().int().safe().nonnegative(),\n productName: z.string(),\n variantName: z.string().nullable(),\n sku: z.string().nullable(),\n brand: z.string().nullable(),\n imageUrl: z.string().nullable(),\n quantity: z.number().int().positive(),\n})\n\nexport const StorefrontCartItemSchema = z.object({\n id: z.string().uuid(),\n productId: z.number().int().safe().nonnegative(),\n title: z.string(),\n variantLabel: z.string().nullable(),\n productHandle: z.string().nullable(),\n thumbnail: z.string().nullable(),\n quantity: z.number().int().positive(),\n variantId: z.number().int().safe().nonnegative(),\n variantSku: z.string().nullable(),\n unitPrice: z.number(),\n compareAtUnitPrice: z.number().nullable(),\n bundleItems: z.array(StorefrontCartBundleItemSchema),\n})\n\nexport const StorefrontCartShippingMethodSchema = z.object({\n id: z.string().uuid(),\n shippingMethodId: z.string().uuid().nullable(),\n rateId: z.string().uuid().nullable(),\n name: z.string(),\n description: z.string().nullable(),\n total: z.number(),\n locationId: z.string().uuid().nullable(),\n estimatedDays: z.number().int().nullable(),\n pickupPointId: z.string().uuid().nullable(),\n scheduledDate: z.string().nullable(),\n scheduledTime: z.string().nullable(),\n serviceCode: z.string().nullable(),\n sellerId: z.string().uuid().nullable(),\n shippingProfileId: z.string().uuid().nullable(),\n})\n\nexport const StorefrontCartTotalsSchema = z.object({\n subtotal: z.number(),\n discountTotal: z.number(),\n shippingOriginalTotal: z.number(),\n shippingTotal: z.number(),\n taxTotal: z.number(),\n warrantyTotal: z.number(),\n total: z.number(),\n})\n\nexport const StorefrontCartStatusSchema = z.enum([\n 'inProgress',\n 'pending',\n 'completed',\n 'abandoned',\n 'cancelled',\n 'expired',\n 'failed',\n])\n\nexport const StorefrontCartSchema = z.object({\n id: z.string().uuid(),\n cartNumber: z.string(),\n email: z.string().nullable(),\n phone: z.string().nullable(),\n firstName: z.string().nullable(),\n lastName: z.string().nullable(),\n currencyCode: z.string(),\n status: StorefrontCartStatusSchema,\n completedAt: z.string().datetime({ offset: true }).nullable(),\n shippingAddress: StorefrontAddressSchema.nullable(),\n billingAddress: StorefrontAddressSchema.nullable(),\n promotionCodes: z.array(z.string()),\n items: z.array(StorefrontCartItemSchema),\n shippingMethods: z.array(StorefrontCartShippingMethodSchema),\n totals: StorefrontCartTotalsSchema,\n})\n\nexport const CreateCartParamsSchema = z.object({\n currencyCode: z.string().length(3),\n salesChannelId: z.string().optional(),\n email: z.string().email().optional(),\n})\n\nexport const GetCartParamsSchema = z.object({\n cartId: z.string().uuid(),\n})\n\nexport const CartItemModifierSchema = z.object({\n modifierGroupId: z.number().int().safe().positive(),\n optionIds: z.array(z.number().int().safe().positive()).min(1),\n})\n\nexport const AddCartItemParamsSchema = z.object({\n cartId: z.string().uuid(),\n variantId: z.number().int().safe().positive(),\n quantity: z.number().int().positive(),\n modifiers: z.array(CartItemModifierSchema).optional(),\n})\n\nexport const UpdateCartItemQuantityParamsSchema = z.object({\n cartId: z.string().uuid(),\n cartItemId: z.string().uuid(),\n quantity: z.number().int().nonnegative(),\n})\n\nexport const RemoveCartItemParamsSchema = z.object({\n cartId: z.string().uuid(),\n cartItemId: z.string().uuid(),\n})\n\nexport type StorefrontAddress = z.infer<typeof StorefrontAddressSchema>\nexport type StorefrontCartBundleItem = z.infer<typeof StorefrontCartBundleItemSchema>\nexport type StorefrontCartItem = z.infer<typeof StorefrontCartItemSchema>\nexport type StorefrontCartShippingMethod = z.infer<typeof StorefrontCartShippingMethodSchema>\nexport type StorefrontCartTotals = z.infer<typeof StorefrontCartTotalsSchema>\nexport type StorefrontCart = z.infer<typeof StorefrontCartSchema>\nexport type CreateCartParams = z.input<typeof CreateCartParamsSchema>\nexport type GetCartParams = z.input<typeof GetCartParamsSchema>\nexport type AddCartItemParams = z.input<typeof AddCartItemParamsSchema>\nexport type UpdateCartItemQuantityParams = z.input<typeof UpdateCartItemQuantityParamsSchema>\nexport type RemoveCartItemParams = z.input<typeof RemoveCartItemParamsSchema>\n","import { z } from 'zod'\nimport { StorefrontCartSchema } from './storefront-cart'\n\nexport const CartBuyerParamsSchema = z.object({\n cartId: z.string().uuid(),\n email: z.string().email(),\n firstName: z.string().min(1),\n lastName: z.string().min(1),\n phone: z.string().min(1),\n})\n\nexport type CartBuyerParams = z.input<typeof CartBuyerParamsSchema>\n\nexport const CartAddressWriteSchema = z.object({\n name: z.string().min(1),\n address1: z.string().min(1),\n city: z.string().min(1),\n countryCode: z.string().length(2),\n company: z.string().nullable().optional(),\n address2: z.string().nullable().optional(),\n province: z.string().nullable().optional(),\n postalCode: z.string().nullable().optional(),\n district: z.string().nullable().optional(),\n phone: z.string().nullable().optional(),\n latitude: z.number().nullable().optional(),\n longitude: z.number().nullable().optional(),\n geo: z\n .object({\n departmentCode: z.string().nullable().optional(),\n provinceCode: z.string().nullable().optional(),\n districtCode: z.string().nullable().optional(),\n })\n .nullable()\n .optional(),\n})\n\nexport type CartAddressWrite = z.input<typeof CartAddressWriteSchema>\n\nexport const CartAddressesParamsSchema = z.object({\n cartId: z.string().uuid(),\n shippingAddress: CartAddressWriteSchema,\n billingAddress: CartAddressWriteSchema,\n})\n\nexport type CartAddressesParams = z.input<typeof CartAddressesParamsSchema>\n\nexport const CartPaymentMethodSchema = z.object({\n code: z.string(),\n name: z.string(),\n description: z.string().nullable().optional(),\n kind: z.string(),\n providerMethodCode: z.string().nullable().optional(),\n isActive: z.boolean(),\n isDefault: z.boolean(),\n isManual: z.boolean(),\n sortOrder: z.number(),\n phoneNumber: z.string().nullable().optional(),\n accountHolder: z.string().nullable().optional(),\n qrImageUrl: z.string().nullable().optional(),\n})\n\nexport type CartPaymentMethod = z.infer<typeof CartPaymentMethodSchema>\n\nexport const StorefrontOrderBumpSchema = z.object({\n id: z.string(),\n productPublicId: z.coerce.string(),\n variantPublicId: z.coerce.string(),\n productName: z.string(),\n variantName: z.string().nullable().optional(),\n imageUrl: z.string().nullable().optional(),\n currencyCode: z.string(),\n regularPrice: z.number(),\n offerPrice: z.number(),\n badgeLabel: z.string().nullable().optional(),\n callToAction: z.string(),\n description: z.string().nullable().optional(),\n})\n\nexport type StorefrontOrderBump = z.infer<typeof StorefrontOrderBumpSchema>\n\nexport const CartCheckoutReadParamsSchema = z.object({\n cartId: z.string().uuid(),\n})\n\nexport type CartCheckoutReadParams = z.input<typeof CartCheckoutReadParamsSchema>\n\nexport const CartCheckoutReadResponseSchema = z.object({\n cart: StorefrontCartSchema,\n paymentMethods: z.object({\n methods: z.array(CartPaymentMethodSchema),\n }),\n orderBumps: z.array(StorefrontOrderBumpSchema).optional().default([]),\n})\n\nexport type CartCheckoutReadResponse = z.infer<typeof CartCheckoutReadResponseSchema>\n\nexport const CartCheckoutPaymentActionSchema = z\n .object({\n publicConfiguration: z\n .object({\n publishableKey: z.string().nullable().optional(),\n checkoutMode: z.string().nullable().optional(),\n phoneNumber: z.string().nullable().optional(),\n accountHolder: z.string().nullable().optional(),\n qrImageUrl: z.string().nullable().optional(),\n })\n .passthrough()\n .nullable()\n .optional(),\n url: z.string().nullable().optional(),\n html: z.string().nullable().optional(),\n clientSecret: z.string().nullable().optional(),\n qrCode: z.string().nullable().optional(),\n expiresAt: z.string().nullable().optional(),\n })\n .passthrough()\n\nexport const CartCheckoutPaymentSchema = z\n .object({\n transactionId: z.string(),\n paymentMethodCode: z.string(),\n providerId: z.string().nullable().optional(),\n status: z.string(),\n amount: z.number(),\n reference: z.string(),\n actionType: z.string(),\n receiptUrl: z.string().nullable().optional(),\n action: CartCheckoutPaymentActionSchema.nullable().optional(),\n })\n .passthrough()\n\nexport type CartCheckoutPayment = z.infer<typeof CartCheckoutPaymentSchema>\n\nexport const CartCheckoutResponseSchema = z\n .object({\n publicKey: z.string().optional(),\n publishableKey: z.string().optional(),\n stripePublicKey: z.string().optional(),\n clientSecret: z.string().optional(),\n intentClientSecret: z.string().optional(),\n orderId: z.coerce.string().optional(),\n orderGroup: z.string().optional(),\n orderIds: z.array(z.coerce.string()).optional(),\n payment: CartCheckoutPaymentSchema.optional(),\n cart: StorefrontCartSchema.optional(),\n })\n .passthrough()\n\nexport type CartCheckoutResponse = z.infer<typeof CartCheckoutResponseSchema>\n\nexport const CartCheckoutParamsSchema = z.object({\n cartId: z.string().uuid(),\n paymentMethodCode: z.string().min(1),\n externalRef: z.string().min(1),\n receiptUrl: z.string().min(1).optional(),\n})\n\nexport type CartCheckoutParams = z.input<typeof CartCheckoutParamsSchema>\n\nexport const ShippingRateSchema = z\n .object({\n shippingMethodId: z.string(),\n name: z.string(),\n displayName: z.string().optional(),\n type: z.string().optional(),\n price: z.number(),\n currency: z.string().optional(),\n sortOrder: z.number().optional(),\n rateId: z.string(),\n description: z.string().nullable().optional(),\n deliveryLocationId: z.string().nullable().optional(),\n deliveryLocationName: z.string().nullable().optional(),\n estimatedDeliveryDays: z.number().nullable().optional(),\n serviceCode: z.string().nullable().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .passthrough()\n\nexport type ShippingRate = z.infer<typeof ShippingRateSchema>\n\nexport const ShippingOptionGroupSchema = z\n .object({\n sellerId: z.string(),\n shippingProfileId: z.string().nullable().optional(),\n orderAmount: z.number().optional(),\n totalWeight: z.number().optional(),\n itemIds: z.array(z.string()).optional(),\n rates: z.array(ShippingRateSchema),\n })\n .passthrough()\n\nexport type ShippingOptionGroup = z.infer<typeof ShippingOptionGroupSchema>\n\nexport const ShippingOptionsResponseSchema = z.object({\n groups: z.array(ShippingOptionGroupSchema),\n})\n\nexport type ShippingOptionsResponse = z.infer<typeof ShippingOptionsResponseSchema>\n\nexport const GetShippingOptionsParamsSchema = z.object({\n cartId: z.string().uuid(),\n postalCode: z.string().min(1),\n})\n\nexport type GetShippingOptionsParams = z.input<typeof GetShippingOptionsParamsSchema>\n\nexport const PutShippingMethodParamsSchema = z.object({\n cartId: z.string().uuid(),\n rateId: z.string().min(1),\n shippingMethodId: z.string().min(1),\n serviceCode: z.string().nullable().optional(),\n sellerId: z.string().nullable().optional(),\n shippingProfileId: z.string().nullable().optional(),\n locationId: z.string().nullable().optional(),\n pickupPointId: z.string().nullable().optional(),\n scheduledDate: z.string().nullable().optional(),\n scheduledTime: z.string().nullable().optional(),\n})\n\nexport type PutShippingMethodParams = z.input<typeof PutShippingMethodParamsSchema>\n\nexport const CartPaymentReceiptResponseSchema = z.object({\n id: z.string(),\n url: z.string(),\n})\n\nexport type CartPaymentReceiptResponse = z.infer<typeof CartPaymentReceiptResponseSchema>\n\nexport type UploadPaymentReceiptParams = {\n cartId: string\n file: Blob\n fileName?: string\n}\n\nexport const CartPromotionCodeParamsSchema = z.object({\n cartId: z.string().uuid(),\n code: z.string().min(1),\n})\n\nexport type CartPromotionCodeParams = z.input<typeof CartPromotionCodeParamsSchema>\n"]}
@@ -0,0 +1,223 @@
1
+ 'use strict';
2
+
3
+ var zod = require('zod');
4
+
5
+ // src/models/storefront-reviews.ts
6
+ var ProductPublicIdSchema = zod.z.union([
7
+ zod.z.string().regex(/^[1-9]\d*$/),
8
+ zod.z.number().int().safe().positive()
9
+ ]).transform(String);
10
+ var ProductSummarySchema = zod.z.object({
11
+ id: ProductPublicIdSchema,
12
+ name: zod.z.string(),
13
+ slug: zod.z.string(),
14
+ productType: zod.z.string(),
15
+ imageUrl: zod.z.string(),
16
+ price: zod.z.number().nonnegative(),
17
+ compareAtPrice: zod.z.number().nonnegative().nullable(),
18
+ variantCount: zod.z.number().int().nonnegative(),
19
+ isAvailable: zod.z.boolean(),
20
+ totalInventory: zod.z.number().int().nonnegative(),
21
+ bundleItemsCount: zod.z.number().int().nonnegative(),
22
+ brand: zod.z.string(),
23
+ category: zod.z.string(),
24
+ status: zod.z.string(),
25
+ collections: zod.z.array(zod.z.string()),
26
+ tags: zod.z.array(zod.z.string())
27
+ });
28
+ zod.z.array(ProductSummarySchema);
29
+ var FacetItemSchema = zod.z.object({
30
+ value: zod.z.string(),
31
+ count: zod.z.number().int().nonnegative(),
32
+ label: zod.z.string().nullable(),
33
+ selected: zod.z.boolean()
34
+ });
35
+ var SearchFilterSchema = zod.z.object({
36
+ id: zod.z.string(),
37
+ label: zod.z.string(),
38
+ type: zod.z.enum(["list", "price_range"]),
39
+ values: zod.z.array(FacetItemSchema),
40
+ min: zod.z.number().nonnegative().nullable(),
41
+ max: zod.z.number().nonnegative().nullable(),
42
+ selectedMin: zod.z.number().nonnegative().nullable(),
43
+ selectedMax: zod.z.number().nonnegative().nullable()
44
+ });
45
+ zod.z.object({
46
+ pageIndex: zod.z.number().int().positive(),
47
+ pageSize: zod.z.number().int().positive().max(100),
48
+ totalCount: zod.z.number().int().nonnegative(),
49
+ totalPages: zod.z.number().int().nonnegative(),
50
+ products: zod.z.array(ProductSummarySchema),
51
+ filters: zod.z.array(SearchFilterSchema)
52
+ });
53
+ var ProductSortSchema = zod.z.enum([
54
+ "price_asc",
55
+ "price_desc",
56
+ "name_asc",
57
+ "name_desc",
58
+ "newest"
59
+ ]);
60
+ zod.z.object({
61
+ page: zod.z.number().int().positive().default(1),
62
+ pageSize: zod.z.number().int().positive().max(100).default(24),
63
+ sort: ProductSortSchema.optional(),
64
+ sellerId: zod.z.string().uuid().optional(),
65
+ search: zod.z.string().optional(),
66
+ collection: zod.z.string().optional(),
67
+ collections: zod.z.array(zod.z.string()).optional(),
68
+ collectionId: ProductPublicIdSchema.optional(),
69
+ category: zod.z.string().optional(),
70
+ categories: zod.z.array(zod.z.string()).optional(),
71
+ brand: zod.z.string().optional(),
72
+ brands: zod.z.array(zod.z.string()).optional(),
73
+ productType: zod.z.string().optional(),
74
+ productTypes: zod.z.array(zod.z.string()).optional(),
75
+ tag: zod.z.string().optional(),
76
+ tags: zod.z.array(zod.z.string()).optional(),
77
+ filters: zod.z.array(zod.z.string()).optional(),
78
+ locationId: zod.z.string().uuid().optional(),
79
+ inStock: zod.z.boolean().optional(),
80
+ minPrice: zod.z.number().nonnegative().optional(),
81
+ maxPrice: zod.z.number().nonnegative().optional()
82
+ });
83
+ zod.z.object({
84
+ sellerId: zod.z.string().uuid().optional()
85
+ });
86
+ zod.z.object({
87
+ productId: ProductPublicIdSchema,
88
+ limit: zod.z.number().int().positive().max(12).default(8),
89
+ sellerId: zod.z.string().uuid().optional()
90
+ });
91
+ var SpecItemSchema = zod.z.object({
92
+ key: zod.z.string(),
93
+ name: zod.z.string(),
94
+ value: zod.z.string()
95
+ });
96
+ var ProductImageSchema = zod.z.object({
97
+ url: zod.z.string(),
98
+ name: zod.z.string(),
99
+ order: zod.z.number().int().nonnegative()
100
+ });
101
+ var VariantItemSchema = zod.z.object({
102
+ id: zod.z.string().nullable(),
103
+ sku: zod.z.string(),
104
+ status: zod.z.string(),
105
+ price: zod.z.number().nonnegative(),
106
+ compareAtPrice: zod.z.number().nonnegative().nullable(),
107
+ quantity: zod.z.number().int().nonnegative(),
108
+ options: zod.z.array(SpecItemSchema),
109
+ images: zod.z.array(ProductImageSchema)
110
+ });
111
+ var ProductPriceTierSchema = zod.z.object({
112
+ variantId: zod.z.string(),
113
+ minQuantity: zod.z.number().int().positive(),
114
+ maxQuantity: zod.z.number().int().positive().nullable(),
115
+ unitPrice: zod.z.number().nonnegative()
116
+ });
117
+ var BundleItemSchema = zod.z.object({
118
+ productId: ProductPublicIdSchema,
119
+ variantId: ProductPublicIdSchema,
120
+ productName: zod.z.string(),
121
+ variantName: zod.z.string().nullable(),
122
+ sku: zod.z.string().nullable(),
123
+ brand: zod.z.string().nullable(),
124
+ imageUrl: zod.z.string().nullable(),
125
+ quantity: zod.z.number().int().positive(),
126
+ available: zod.z.number().int().nonnegative(),
127
+ allowBackorders: zod.z.boolean(),
128
+ requiresShipping: zod.z.boolean()
129
+ });
130
+ var SizeGuideMeasurementSchema = zod.z.object({
131
+ key: zod.z.string(),
132
+ name: zod.z.string(),
133
+ min: zod.z.number().nullable(),
134
+ max: zod.z.number().nullable(),
135
+ value: zod.z.number().nullable(),
136
+ description: zod.z.string().nullable()
137
+ });
138
+ var SizeGuideRowSchema = zod.z.object({
139
+ label: zod.z.string(),
140
+ sizeKey: zod.z.string(),
141
+ order: zod.z.number().int().nonnegative(),
142
+ measurements: zod.z.array(SizeGuideMeasurementSchema)
143
+ });
144
+ var SizeGuideSchema = zod.z.object({
145
+ id: zod.z.string(),
146
+ name: zod.z.string(),
147
+ slug: zod.z.string(),
148
+ description: zod.z.string().nullable(),
149
+ imageUrl: zod.z.string().nullable(),
150
+ gender: zod.z.string(),
151
+ measurementType: zod.z.string(),
152
+ unit: zod.z.string(),
153
+ notes: zod.z.string().nullable(),
154
+ rows: zod.z.array(SizeGuideRowSchema)
155
+ });
156
+ zod.z.object({
157
+ id: ProductPublicIdSchema,
158
+ name: zod.z.string(),
159
+ slug: zod.z.string(),
160
+ description: zod.z.string(),
161
+ productType: zod.z.string(),
162
+ status: zod.z.string(),
163
+ imageUrl: zod.z.string(),
164
+ price: zod.z.number().nonnegative(),
165
+ compareAtPrice: zod.z.number().nonnegative().nullable(),
166
+ isAvailable: zod.z.boolean(),
167
+ totalInventory: zod.z.number().int().nonnegative(),
168
+ brand: zod.z.string(),
169
+ category: zod.z.string(),
170
+ categoryId: ProductPublicIdSchema.nullable(),
171
+ tags: zod.z.array(zod.z.string()),
172
+ specifications: zod.z.array(SpecItemSchema),
173
+ variants: zod.z.array(VariantItemSchema),
174
+ images: zod.z.array(ProductImageSchema),
175
+ bundleItems: zod.z.array(BundleItemSchema),
176
+ sizeGuide: SizeGuideSchema.nullable(),
177
+ priceTiers: zod.z.array(ProductPriceTierSchema),
178
+ createdAt: zod.z.string().datetime({ offset: true }).nullable(),
179
+ updatedAt: zod.z.string().datetime({ offset: true }).nullable()
180
+ });
181
+
182
+ // src/models/storefront-reviews.ts
183
+ var StorefrontReviewSchema = zod.z.object({
184
+ id: ProductPublicIdSchema,
185
+ productId: ProductPublicIdSchema,
186
+ isVerifiedPurchase: zod.z.boolean(),
187
+ rating: zod.z.number().int().min(1).max(5),
188
+ title: zod.z.string().nullable(),
189
+ content: zod.z.string(),
190
+ reviewerName: zod.z.string().nullable(),
191
+ createdOn: zod.z.string().datetime({ offset: true })
192
+ });
193
+ var StorefrontReviewsSchema = zod.z.object({
194
+ data: zod.z.array(StorefrontReviewSchema),
195
+ hasNextPage: zod.z.boolean(),
196
+ nextCursor: zod.z.string().nullable(),
197
+ totalCount: zod.z.number().int().nonnegative().nullable()
198
+ });
199
+ var ListProductReviewsParamsSchema = zod.z.object({
200
+ productId: ProductPublicIdSchema,
201
+ limit: zod.z.number().int().min(1).max(200).optional(),
202
+ cursor: zod.z.string().optional(),
203
+ search: zod.z.string().optional(),
204
+ sortBy: zod.z.enum(["rating", "createdOn"]).optional(),
205
+ sortDirection: zod.z.enum(["asc", "desc"]).optional(),
206
+ rating: zod.z.number().int().min(1).max(5).optional()
207
+ });
208
+ var CreateProductReviewParamsSchema = zod.z.object({
209
+ productId: ProductPublicIdSchema,
210
+ rating: zod.z.number().int().min(1).max(5),
211
+ content: zod.z.string().min(1).max(4e3),
212
+ title: zod.z.string().max(200).optional(),
213
+ reviewerName: zod.z.string().min(1).max(200),
214
+ reviewerEmail: zod.z.string().email().max(320),
215
+ orderId: zod.z.number().int().safe().positive().optional()
216
+ });
217
+
218
+ exports.CreateProductReviewParamsSchema = CreateProductReviewParamsSchema;
219
+ exports.ListProductReviewsParamsSchema = ListProductReviewsParamsSchema;
220
+ exports.StorefrontReviewSchema = StorefrontReviewSchema;
221
+ exports.StorefrontReviewsSchema = StorefrontReviewsSchema;
222
+ //# sourceMappingURL=storefront-reviews.cjs.map
223
+ //# sourceMappingURL=storefront-reviews.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/models/products.ts","../../src/models/storefront-reviews.ts"],"names":["z"],"mappings":"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","file":"storefront-reviews.cjs","sourcesContent":["import { z } from 'zod'\n\nexport const ProductPublicIdSchema = z\n .union([\n z.string().regex(/^[1-9]\\d*$/),\n z.number().int().safe().positive(),\n ])\n .transform(String)\n\nexport const ProductSummarySchema = z.object({\n id: ProductPublicIdSchema,\n name: z.string(),\n slug: z.string(),\n productType: z.string(),\n imageUrl: z.string(),\n price: z.number().nonnegative(),\n compareAtPrice: z.number().nonnegative().nullable(),\n variantCount: z.number().int().nonnegative(),\n isAvailable: z.boolean(),\n totalInventory: z.number().int().nonnegative(),\n bundleItemsCount: z.number().int().nonnegative(),\n brand: z.string(),\n category: z.string(),\n status: z.string(),\n collections: z.array(z.string()),\n tags: z.array(z.string()),\n})\n\nexport const ProductSummariesSchema = z.array(ProductSummarySchema)\n\nexport const ProductSchema = ProductSummarySchema\n\nexport const FacetItemSchema = z.object({\n value: z.string(),\n count: z.number().int().nonnegative(),\n label: z.string().nullable(),\n selected: z.boolean(),\n})\n\nexport const FacetSchema = FacetItemSchema\n\nexport const SearchFilterSchema = z.object({\n id: z.string(),\n label: z.string(),\n type: z.enum(['list', 'price_range']),\n values: z.array(FacetItemSchema),\n min: z.number().nonnegative().nullable(),\n max: z.number().nonnegative().nullable(),\n selectedMin: z.number().nonnegative().nullable(),\n selectedMax: z.number().nonnegative().nullable(),\n})\n\nexport const ProductsResponseSchema = z.object({\n pageIndex: z.number().int().positive(),\n pageSize: z.number().int().positive().max(100),\n totalCount: z.number().int().nonnegative(),\n totalPages: z.number().int().nonnegative(),\n products: z.array(ProductSummarySchema),\n filters: z.array(SearchFilterSchema),\n})\n\nexport const ProductSortSchema = z.enum([\n 'price_asc',\n 'price_desc',\n 'name_asc',\n 'name_desc',\n 'newest',\n])\n\nexport const ProductsParamsSchema = z.object({\n page: z.number().int().positive().default(1),\n pageSize: z.number().int().positive().max(100).default(24),\n sort: ProductSortSchema.optional(),\n sellerId: z.string().uuid().optional(),\n search: z.string().optional(),\n collection: z.string().optional(),\n collections: z.array(z.string()).optional(),\n collectionId: ProductPublicIdSchema.optional(),\n category: z.string().optional(),\n categories: z.array(z.string()).optional(),\n brand: z.string().optional(),\n brands: z.array(z.string()).optional(),\n productType: z.string().optional(),\n productTypes: z.array(z.string()).optional(),\n tag: z.string().optional(),\n tags: z.array(z.string()).optional(),\n filters: z.array(z.string()).optional(),\n locationId: z.string().uuid().optional(),\n inStock: z.boolean().optional(),\n minPrice: z.number().nonnegative().optional(),\n maxPrice: z.number().nonnegative().optional(),\n})\n\nexport const ProductDetailParamsSchema = z.object({\n sellerId: z.string().uuid().optional(),\n})\n\nexport const RelatedProductsParamsSchema = z.object({\n productId: ProductPublicIdSchema,\n limit: z.number().int().positive().max(12).default(8),\n sellerId: z.string().uuid().optional(),\n})\n\nexport const SpecItemSchema = z.object({\n key: z.string(),\n name: z.string(),\n value: z.string(),\n})\n\nexport const VariantOptionSchema = SpecItemSchema\n\nexport const ProductImageSchema = z.object({\n url: z.string(),\n name: z.string(),\n order: z.number().int().nonnegative(),\n})\n\nexport const VariantItemSchema = z.object({\n id: z.string().nullable(),\n sku: z.string(),\n status: z.string(),\n price: z.number().nonnegative(),\n compareAtPrice: z.number().nonnegative().nullable(),\n quantity: z.number().int().nonnegative(),\n options: z.array(SpecItemSchema),\n images: z.array(ProductImageSchema),\n})\n\nexport const VariantSchema = VariantItemSchema\n\nexport const ProductPriceTierSchema = z.object({\n variantId: z.string(),\n minQuantity: z.number().int().positive(),\n maxQuantity: z.number().int().positive().nullable(),\n unitPrice: z.number().nonnegative(),\n})\n\nexport const PriceTierSchema = ProductPriceTierSchema\n\nexport const BundleItemSchema = z.object({\n productId: ProductPublicIdSchema,\n variantId: ProductPublicIdSchema,\n productName: z.string(),\n variantName: z.string().nullable(),\n sku: z.string().nullable(),\n brand: z.string().nullable(),\n imageUrl: z.string().nullable(),\n quantity: z.number().int().positive(),\n available: z.number().int().nonnegative(),\n allowBackorders: z.boolean(),\n requiresShipping: z.boolean(),\n})\n\nexport const SizeGuideMeasurementSchema = z.object({\n key: z.string(),\n name: z.string(),\n min: z.number().nullable(),\n max: z.number().nullable(),\n value: z.number().nullable(),\n description: z.string().nullable(),\n})\n\nexport const SizeGuideRowSchema = z.object({\n label: z.string(),\n sizeKey: z.string(),\n order: z.number().int().nonnegative(),\n measurements: z.array(SizeGuideMeasurementSchema),\n})\n\nexport const SizeGuideSchema = z.object({\n id: z.string(),\n name: z.string(),\n slug: z.string(),\n description: z.string().nullable(),\n imageUrl: z.string().nullable(),\n gender: z.string(),\n measurementType: z.string(),\n unit: z.string(),\n notes: z.string().nullable(),\n rows: z.array(SizeGuideRowSchema),\n})\n\nexport const ProductDetailSchema = z.object({\n id: ProductPublicIdSchema,\n name: z.string(),\n slug: z.string(),\n description: z.string(),\n productType: z.string(),\n status: z.string(),\n imageUrl: z.string(),\n price: z.number().nonnegative(),\n compareAtPrice: z.number().nonnegative().nullable(),\n isAvailable: z.boolean(),\n totalInventory: z.number().int().nonnegative(),\n brand: z.string(),\n category: z.string(),\n categoryId: ProductPublicIdSchema.nullable(),\n tags: z.array(z.string()),\n specifications: z.array(SpecItemSchema),\n variants: z.array(VariantItemSchema),\n images: z.array(ProductImageSchema),\n bundleItems: z.array(BundleItemSchema),\n sizeGuide: SizeGuideSchema.nullable(),\n priceTiers: z.array(ProductPriceTierSchema),\n createdAt: z.string().datetime({ offset: true }).nullable(),\n updatedAt: z.string().datetime({ offset: true }).nullable(),\n})\n\nexport type ProductSummary = z.infer<typeof ProductSummarySchema>\nexport type Product = ProductSummary\nexport type FacetItem = z.infer<typeof FacetItemSchema>\nexport type Facet = FacetItem\nexport type SearchFilter = z.infer<typeof SearchFilterSchema>\nexport type ProductsResponse = z.infer<typeof ProductsResponseSchema>\nexport type ProductsParams = z.infer<typeof ProductsParamsSchema>\nexport type ProductsParamsInput = z.input<typeof ProductsParamsSchema>\nexport type ProductDetailParams = z.input<typeof ProductDetailParamsSchema>\nexport type RelatedProductsParams = z.input<typeof RelatedProductsParamsSchema>\nexport type ProductSort = z.infer<typeof ProductSortSchema>\nexport type SpecItem = z.infer<typeof SpecItemSchema>\nexport type VariantOption = SpecItem\nexport type VariantItem = z.infer<typeof VariantItemSchema>\nexport type Variant = VariantItem\nexport type ProductImage = z.infer<typeof ProductImageSchema>\nexport type ProductPriceTier = z.infer<typeof ProductPriceTierSchema>\nexport type PriceTier = ProductPriceTier\nexport type BundleItem = z.infer<typeof BundleItemSchema>\nexport type SizeGuideMeasurement = z.infer<typeof SizeGuideMeasurementSchema>\nexport type SizeGuideRow = z.infer<typeof SizeGuideRowSchema>\nexport type SizeGuide = z.infer<typeof SizeGuideSchema>\nexport type ProductDetail = z.infer<typeof ProductDetailSchema>\n","import { z } from 'zod'\n\nimport { ProductPublicIdSchema } from './products'\n\nexport const StorefrontReviewSchema = z.object({\n id: ProductPublicIdSchema,\n productId: ProductPublicIdSchema,\n isVerifiedPurchase: z.boolean(),\n rating: z.number().int().min(1).max(5),\n title: z.string().nullable(),\n content: z.string(),\n reviewerName: z.string().nullable(),\n createdOn: z.string().datetime({ offset: true }),\n})\n\nexport const StorefrontReviewsSchema = z.object({\n data: z.array(StorefrontReviewSchema),\n hasNextPage: z.boolean(),\n nextCursor: z.string().nullable(),\n totalCount: z.number().int().nonnegative().nullable(),\n})\n\nexport const ListProductReviewsParamsSchema = z.object({\n productId: ProductPublicIdSchema,\n limit: z.number().int().min(1).max(200).optional(),\n cursor: z.string().optional(),\n search: z.string().optional(),\n sortBy: z.enum(['rating', 'createdOn']).optional(),\n sortDirection: z.enum(['asc', 'desc']).optional(),\n rating: z.number().int().min(1).max(5).optional(),\n})\n\nexport const CreateProductReviewParamsSchema = z.object({\n productId: ProductPublicIdSchema,\n rating: z.number().int().min(1).max(5),\n content: z.string().min(1).max(4000),\n title: z.string().max(200).optional(),\n reviewerName: z.string().min(1).max(200),\n reviewerEmail: z.string().email().max(320),\n orderId: z.number().int().safe().positive().optional(),\n})\n\nexport type StorefrontReview = z.infer<typeof StorefrontReviewSchema>\nexport type StorefrontReviews = z.infer<typeof StorefrontReviewsSchema>\nexport type ListProductReviewsParams = z.input<typeof ListProductReviewsParamsSchema>\nexport type CreateProductReviewParams = z.input<typeof CreateProductReviewParamsSchema>\n"]}