@ecomiq/core 0.1.5 → 0.1.7

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 (59) hide show
  1. package/dist/client.cjs +46 -39
  2. package/dist/client.cjs.map +1 -1
  3. package/dist/client.d.cts +1 -0
  4. package/dist/client.d.ts +1 -0
  5. package/dist/client.js +46 -39
  6. package/dist/client.js.map +1 -1
  7. package/dist/index.cjs +49 -39
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.d.cts +1 -0
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.js +47 -40
  12. package/dist/index.js.map +1 -1
  13. package/dist/models/geo.cjs +10 -2
  14. package/dist/models/geo.cjs.map +1 -1
  15. package/dist/models/geo.d.cts +14 -14
  16. package/dist/models/geo.d.ts +14 -14
  17. package/dist/models/geo.js +10 -2
  18. package/dist/models/geo.js.map +1 -1
  19. package/dist/models/ids.cjs +17 -0
  20. package/dist/models/ids.cjs.map +1 -0
  21. package/dist/models/ids.d.cts +12 -0
  22. package/dist/models/ids.d.ts +12 -0
  23. package/dist/models/ids.js +13 -0
  24. package/dist/models/ids.js.map +1 -0
  25. package/dist/models/products.cjs +12 -4
  26. package/dist/models/products.cjs.map +1 -1
  27. package/dist/models/products.d.cts +4 -4
  28. package/dist/models/products.d.ts +4 -4
  29. package/dist/models/products.js +12 -4
  30. package/dist/models/products.js.map +1 -1
  31. package/dist/models/search.cjs +11 -5
  32. package/dist/models/search.cjs.map +1 -1
  33. package/dist/models/search.d.cts +1 -1
  34. package/dist/models/search.d.ts +1 -1
  35. package/dist/models/search.js +11 -5
  36. package/dist/models/search.js.map +1 -1
  37. package/dist/models/settings.cjs +20 -10
  38. package/dist/models/settings.cjs.map +1 -1
  39. package/dist/models/settings.d.cts +64 -63
  40. package/dist/models/settings.d.ts +64 -63
  41. package/dist/models/settings.js +18 -11
  42. package/dist/models/settings.js.map +1 -1
  43. package/dist/models/storefront-cart.cjs +23 -15
  44. package/dist/models/storefront-cart.cjs.map +1 -1
  45. package/dist/models/storefront-cart.d.cts +23 -23
  46. package/dist/models/storefront-cart.d.ts +23 -23
  47. package/dist/models/storefront-cart.js +23 -15
  48. package/dist/models/storefront-cart.js.map +1 -1
  49. package/dist/models/storefront-checkout.cjs +28 -22
  50. package/dist/models/storefront-checkout.cjs.map +1 -1
  51. package/dist/models/storefront-checkout.d.cts +43 -43
  52. package/dist/models/storefront-checkout.d.ts +43 -43
  53. package/dist/models/storefront-checkout.js +28 -22
  54. package/dist/models/storefront-checkout.js.map +1 -1
  55. package/dist/models/storefront-reviews.cjs +12 -4
  56. package/dist/models/storefront-reviews.cjs.map +1 -1
  57. package/dist/models/storefront-reviews.js +12 -4
  58. package/dist/models/storefront-reviews.js.map +1 -1
  59. package/package.json +6 -1
@@ -1,5 +1,13 @@
1
1
  import { z } from 'zod';
2
2
 
3
+ // src/models/products.ts
4
+ var EntityIdSchema = z.union([
5
+ z.string().uuid(),
6
+ z.string().regex(/^\d+$/, "Expected numeric id")
7
+ ]);
8
+ EntityIdSchema.nullable();
9
+ var OptionalEntityIdSchema = EntityIdSchema.optional();
10
+
3
11
  // src/models/products.ts
4
12
  var ProductPublicIdSchema = z.union([
5
13
  z.string().regex(/^[1-9]\d*$/),
@@ -61,7 +69,7 @@ var ProductsParamsSchema = z.object({
61
69
  page: z.number().int().positive().default(1),
62
70
  pageSize: z.number().int().positive().max(100).default(24),
63
71
  sort: ProductSortSchema.optional(),
64
- sellerId: z.string().uuid().optional(),
72
+ sellerId: OptionalEntityIdSchema,
65
73
  search: z.string().optional(),
66
74
  collection: z.string().optional(),
67
75
  collections: z.array(z.string()).optional(),
@@ -75,18 +83,18 @@ var ProductsParamsSchema = z.object({
75
83
  tag: z.string().optional(),
76
84
  tags: z.array(z.string()).optional(),
77
85
  filters: z.array(z.string()).optional(),
78
- locationId: z.string().uuid().optional(),
86
+ locationId: OptionalEntityIdSchema,
79
87
  inStock: z.boolean().optional(),
80
88
  minPrice: z.number().nonnegative().optional(),
81
89
  maxPrice: z.number().nonnegative().optional()
82
90
  });
83
91
  var ProductDetailParamsSchema = z.object({
84
- sellerId: z.string().uuid().optional()
92
+ sellerId: OptionalEntityIdSchema
85
93
  });
86
94
  var RelatedProductsParamsSchema = z.object({
87
95
  productId: ProductPublicIdSchema,
88
96
  limit: z.number().int().positive().max(12).default(8),
89
- sellerId: z.string().uuid().optional()
97
+ sellerId: OptionalEntityIdSchema
90
98
  });
91
99
  var SpecItemSchema = z.object({
92
100
  key: z.string(),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/products.ts"],"names":[],"mappings":"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","file":"products.js","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"]}
1
+ {"version":3,"sources":["../../src/models/ids.ts","../../src/models/products.ts"],"names":["z"],"mappings":"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","file":"products.js","sourcesContent":["import { z } from 'zod'\n\n/**\n * UUID o id numérico de la API (p. ej. `\"2\"`, snowflake `\"74400…\"`).\n * Usar en lugar de `z.string().uuid()` para ids de entidades.\n */\nexport const EntityIdSchema = z.union([\n z.string().uuid(),\n z.string().regex(/^\\d+$/, 'Expected numeric id'),\n])\n\nexport const NullableEntityIdSchema = EntityIdSchema.nullable()\nexport const OptionalEntityIdSchema = EntityIdSchema.optional()\n\nexport type EntityId = z.infer<typeof EntityIdSchema>\n","import { z } from 'zod'\nimport {\n OptionalEntityIdSchema,\n} from './ids'\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: OptionalEntityIdSchema,\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: OptionalEntityIdSchema,\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: OptionalEntityIdSchema,\n})\n\nexport const RelatedProductsParamsSchema = z.object({\n productId: ProductPublicIdSchema,\n limit: z.number().int().positive().max(12).default(8),\n sellerId: OptionalEntityIdSchema,\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"]}
@@ -3,6 +3,12 @@
3
3
  var zod = require('zod');
4
4
 
5
5
  // src/models/search.ts
6
+ var EntityIdSchema = zod.z.union([
7
+ zod.z.string().uuid(),
8
+ zod.z.string().regex(/^\d+$/, "Expected numeric id")
9
+ ]);
10
+ EntityIdSchema.nullable();
11
+ var OptionalEntityIdSchema = EntityIdSchema.optional();
6
12
  var ProductPublicIdSchema = zod.z.union([
7
13
  zod.z.string().regex(/^[1-9]\d*$/),
8
14
  zod.z.number().int().safe().positive()
@@ -61,7 +67,7 @@ zod.z.object({
61
67
  page: zod.z.number().int().positive().default(1),
62
68
  pageSize: zod.z.number().int().positive().max(100).default(24),
63
69
  sort: ProductSortSchema.optional(),
64
- sellerId: zod.z.string().uuid().optional(),
70
+ sellerId: OptionalEntityIdSchema,
65
71
  search: zod.z.string().optional(),
66
72
  collection: zod.z.string().optional(),
67
73
  collections: zod.z.array(zod.z.string()).optional(),
@@ -75,18 +81,18 @@ zod.z.object({
75
81
  tag: zod.z.string().optional(),
76
82
  tags: zod.z.array(zod.z.string()).optional(),
77
83
  filters: zod.z.array(zod.z.string()).optional(),
78
- locationId: zod.z.string().uuid().optional(),
84
+ locationId: OptionalEntityIdSchema,
79
85
  inStock: zod.z.boolean().optional(),
80
86
  minPrice: zod.z.number().nonnegative().optional(),
81
87
  maxPrice: zod.z.number().nonnegative().optional()
82
88
  });
83
89
  zod.z.object({
84
- sellerId: zod.z.string().uuid().optional()
90
+ sellerId: OptionalEntityIdSchema
85
91
  });
86
92
  zod.z.object({
87
93
  productId: ProductPublicIdSchema,
88
94
  limit: zod.z.number().int().positive().max(12).default(8),
89
- sellerId: zod.z.string().uuid().optional()
95
+ sellerId: OptionalEntityIdSchema
90
96
  });
91
97
  var SpecItemSchema = zod.z.object({
92
98
  key: zod.z.string(),
@@ -183,7 +189,7 @@ zod.z.object({
183
189
  var ProductAutocompleteParamsSchema = zod.z.object({
184
190
  search: zod.z.string().min(2).max(80),
185
191
  limit: zod.z.number().int().positive().max(20).default(8),
186
- sellerId: zod.z.string().uuid().optional()
192
+ sellerId: OptionalEntityIdSchema
187
193
  });
188
194
  var ProductSuggestionSchema = zod.z.object({
189
195
  id: ProductPublicIdSchema,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/products.ts","../../src/models/search.ts"],"names":["z"],"mappings":"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","file":"search.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 ProductAutocompleteParamsSchema = z.object({\n search: z.string().min(2).max(80),\n limit: z.number().int().positive().max(20).default(8),\n sellerId: z.string().uuid().optional(),\n})\n\nexport const ProductSuggestionSchema = z.object({\n id: ProductPublicIdSchema,\n name: z.string(),\n slug: z.string(),\n imageUrl: z.string(),\n})\n\nexport const ProductSuggestionsSchema = z.array(ProductSuggestionSchema)\n\nexport type ProductAutocompleteParams = z.input<typeof ProductAutocompleteParamsSchema>\nexport type ProductSuggestion = z.infer<typeof ProductSuggestionSchema>\n"]}
1
+ {"version":3,"sources":["../../src/models/ids.ts","../../src/models/products.ts","../../src/models/search.ts"],"names":["z"],"mappings":"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","file":"search.cjs","sourcesContent":["import { z } from 'zod'\n\n/**\n * UUID o id numérico de la API (p. ej. `\"2\"`, snowflake `\"74400…\"`).\n * Usar en lugar de `z.string().uuid()` para ids de entidades.\n */\nexport const EntityIdSchema = z.union([\n z.string().uuid(),\n z.string().regex(/^\\d+$/, 'Expected numeric id'),\n])\n\nexport const NullableEntityIdSchema = EntityIdSchema.nullable()\nexport const OptionalEntityIdSchema = EntityIdSchema.optional()\n\nexport type EntityId = z.infer<typeof EntityIdSchema>\n","import { z } from 'zod'\nimport {\n OptionalEntityIdSchema,\n} from './ids'\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: OptionalEntityIdSchema,\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: OptionalEntityIdSchema,\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: OptionalEntityIdSchema,\n})\n\nexport const RelatedProductsParamsSchema = z.object({\n productId: ProductPublicIdSchema,\n limit: z.number().int().positive().max(12).default(8),\n sellerId: OptionalEntityIdSchema,\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'\nimport {\n OptionalEntityIdSchema,\n} from './ids'\n\nimport { ProductPublicIdSchema } from './products'\n\nexport const ProductAutocompleteParamsSchema = z.object({\n search: z.string().min(2).max(80),\n limit: z.number().int().positive().max(20).default(8),\n sellerId: OptionalEntityIdSchema,\n})\n\nexport const ProductSuggestionSchema = z.object({\n id: ProductPublicIdSchema,\n name: z.string(),\n slug: z.string(),\n imageUrl: z.string(),\n})\n\nexport const ProductSuggestionsSchema = z.array(ProductSuggestionSchema)\n\nexport type ProductAutocompleteParams = z.input<typeof ProductAutocompleteParamsSchema>\nexport type ProductSuggestion = z.infer<typeof ProductSuggestionSchema>\n"]}
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  declare const ProductAutocompleteParamsSchema: z.ZodObject<{
4
4
  search: z.ZodString;
5
5
  limit: z.ZodDefault<z.ZodNumber>;
6
- sellerId: z.ZodOptional<z.ZodString>;
6
+ sellerId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodString]>>;
7
7
  }, "strip", z.ZodTypeAny, {
8
8
  search: string;
9
9
  limit: number;
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  declare const ProductAutocompleteParamsSchema: z.ZodObject<{
4
4
  search: z.ZodString;
5
5
  limit: z.ZodDefault<z.ZodNumber>;
6
- sellerId: z.ZodOptional<z.ZodString>;
6
+ sellerId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodString]>>;
7
7
  }, "strip", z.ZodTypeAny, {
8
8
  search: string;
9
9
  limit: number;
@@ -1,6 +1,12 @@
1
1
  import { z } from 'zod';
2
2
 
3
3
  // src/models/search.ts
4
+ var EntityIdSchema = z.union([
5
+ z.string().uuid(),
6
+ z.string().regex(/^\d+$/, "Expected numeric id")
7
+ ]);
8
+ EntityIdSchema.nullable();
9
+ var OptionalEntityIdSchema = EntityIdSchema.optional();
4
10
  var ProductPublicIdSchema = z.union([
5
11
  z.string().regex(/^[1-9]\d*$/),
6
12
  z.number().int().safe().positive()
@@ -59,7 +65,7 @@ z.object({
59
65
  page: z.number().int().positive().default(1),
60
66
  pageSize: z.number().int().positive().max(100).default(24),
61
67
  sort: ProductSortSchema.optional(),
62
- sellerId: z.string().uuid().optional(),
68
+ sellerId: OptionalEntityIdSchema,
63
69
  search: z.string().optional(),
64
70
  collection: z.string().optional(),
65
71
  collections: z.array(z.string()).optional(),
@@ -73,18 +79,18 @@ z.object({
73
79
  tag: z.string().optional(),
74
80
  tags: z.array(z.string()).optional(),
75
81
  filters: z.array(z.string()).optional(),
76
- locationId: z.string().uuid().optional(),
82
+ locationId: OptionalEntityIdSchema,
77
83
  inStock: z.boolean().optional(),
78
84
  minPrice: z.number().nonnegative().optional(),
79
85
  maxPrice: z.number().nonnegative().optional()
80
86
  });
81
87
  z.object({
82
- sellerId: z.string().uuid().optional()
88
+ sellerId: OptionalEntityIdSchema
83
89
  });
84
90
  z.object({
85
91
  productId: ProductPublicIdSchema,
86
92
  limit: z.number().int().positive().max(12).default(8),
87
- sellerId: z.string().uuid().optional()
93
+ sellerId: OptionalEntityIdSchema
88
94
  });
89
95
  var SpecItemSchema = z.object({
90
96
  key: z.string(),
@@ -181,7 +187,7 @@ z.object({
181
187
  var ProductAutocompleteParamsSchema = z.object({
182
188
  search: z.string().min(2).max(80),
183
189
  limit: z.number().int().positive().max(20).default(8),
184
- sellerId: z.string().uuid().optional()
190
+ sellerId: OptionalEntityIdSchema
185
191
  });
186
192
  var ProductSuggestionSchema = z.object({
187
193
  id: ProductPublicIdSchema,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/products.ts","../../src/models/search.ts"],"names":["z"],"mappings":";;;AAEO,IAAM,qBAAA,GAAwB,EAClC,KAAA,CAAM;AAAA,EACL,CAAA,CAAE,MAAA,EAAO,CAAE,KAAA,CAAM,YAAY,CAAA;AAAA,EAC7B,EAAE,MAAA,EAAO,CAAE,KAAI,CAAE,IAAA,GAAO,QAAA;AAC1B,CAAC,CAAA,CACA,UAAU,MAAM,CAAA;AAEZ,IAAM,oBAAA,GAAuB,EAAE,MAAA,CAAO;AAAA,EAC3C,EAAA,EAAI,qBAAA;AAAA,EACJ,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAa,EAAE,MAAA,EAAO;AAAA,EACtB,QAAA,EAAU,EAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA,EAAY;AAAA,EAC9B,gBAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EAClD,cAAc,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC3C,WAAA,EAAa,EAAE,OAAA,EAAQ;AAAA,EACvB,gBAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC7C,kBAAkB,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC/C,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAU,EAAE,MAAA,EAAO;AAAA,EACnB,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,WAAA,EAAa,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,QAAQ,CAAA;AAAA,EAC/B,IAAA,EAAM,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,QAAQ;AAC1B,CAAC,CAAA;AAEqC,CAAA,CAAE,KAAA,CAAM,oBAAoB;AAI3D,IAAM,eAAA,GAAkB,EAAE,MAAA,CAAO;AAAA,EACtC,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,OAAO,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACpC,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAU,EAAE,OAAA;AACd,CAAC,CAAA;AAIM,IAAM,kBAAA,GAAqB,EAAE,MAAA,CAAO;AAAA,EACzC,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,MAAM,CAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,aAAa,CAAC,CAAA;AAAA,EACpC,MAAA,EAAQ,CAAA,CAAE,KAAA,CAAM,eAAe,CAAA;AAAA,EAC/B,KAAK,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EACvC,KAAK,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EACvC,aAAa,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EAC/C,aAAa,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA,GAAc,QAAA;AACxC,CAAC,CAAA;AAEqC,EAAE,MAAA,CAAO;AAAA,EAC7C,WAAW,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EACrC,QAAA,EAAU,EAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAAS,CAAE,GAAA,CAAI,GAAG,CAAA;AAAA,EAC7C,YAAY,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACzC,YAAY,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACzC,QAAA,EAAU,CAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA;AAAA,EACtC,OAAA,EAAS,CAAA,CAAE,KAAA,CAAM,kBAAkB;AACrC,CAAC;AAEM,IAAM,iBAAA,GAAoB,EAAE,IAAA,CAAK;AAAA,EACtC,WAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAC,CAAA;AAEmC,EAAE,MAAA,CAAO;AAAA,EAC3C,IAAA,EAAM,EAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,EAC3C,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACzD,IAAA,EAAM,kBAAkB,QAAA,EAAS;AAAA,EACjC,UAAU,CAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,QAAA,EAAS;AAAA,EACrC,MAAA,EAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC5B,UAAA,EAAY,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,aAAa,CAAA,CAAE,KAAA,CAAM,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EAC1C,YAAA,EAAc,sBAAsB,QAAA,EAAS;AAAA,EAC7C,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,YAAY,CAAA,CAAE,KAAA,CAAM,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EACzC,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAQ,CAAA,CAAE,KAAA,CAAM,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EACrC,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,cAAc,CAAA,CAAE,KAAA,CAAM,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EAC3C,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,MAAM,CAAA,CAAE,KAAA,CAAM,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EACnC,SAAS,CAAA,CAAE,KAAA,CAAM,EAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EACtC,YAAY,CAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,QAAA,EAAS;AAAA,EACvC,OAAA,EAAS,CAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAC9B,UAAU,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EAC5C,UAAU,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA,GAAc,QAAA;AACrC,CAAC;AAEwC,EAAE,MAAA,CAAO;AAAA,EAChD,UAAU,CAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,QAAA;AAC9B,CAAC;AAE0C,EAAE,MAAA,CAAO;AAAA,EAClD,SAAA,EAAW,qBAAA;AAAA,EACX,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,EACpD,UAAU,CAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,QAAA;AAC9B,CAAC;AAEM,IAAM,cAAA,GAAiB,EAAE,MAAA,CAAO;AAAA,EACrC,GAAA,EAAK,EAAE,MAAA,EAAO;AAAA,EACd,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAO,EAAE,MAAA;AACX,CAAC,CAAA;AAIM,IAAM,kBAAA,GAAqB,EAAE,MAAA,CAAO;AAAA,EACzC,GAAA,EAAK,EAAE,MAAA,EAAO;AAAA,EACd,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,OAAO,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA;AAC1B,CAAC,CAAA;AAEM,IAAM,iBAAA,GAAoB,EAAE,MAAA,CAAO;AAAA,EACxC,EAAA,EAAI,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,GAAA,EAAK,EAAE,MAAA,EAAO;AAAA,EACd,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA,EAAY;AAAA,EAC9B,gBAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EAClD,UAAU,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACvC,OAAA,EAAS,CAAA,CAAE,KAAA,CAAM,cAAc,CAAA;AAAA,EAC/B,MAAA,EAAQ,CAAA,CAAE,KAAA,CAAM,kBAAkB;AACpC,CAAC,CAAA;AAIM,IAAM,sBAAA,GAAyB,EAAE,MAAA,CAAO;AAAA,EAC7C,SAAA,EAAW,EAAE,MAAA,EAAO;AAAA,EACpB,aAAa,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EACvC,WAAA,EAAa,EAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,GAAW,QAAA,EAAS;AAAA,EAClD,SAAA,EAAW,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA;AACxB,CAAC,CAAA;AAIM,IAAM,gBAAA,GAAmB,EAAE,MAAA,CAAO;AAAA,EACvC,SAAA,EAAW,qBAAA;AAAA,EACX,SAAA,EAAW,qBAAA;AAAA,EACX,WAAA,EAAa,EAAE,MAAA,EAAO;AAAA,EACtB,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,UAAU,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EACpC,WAAW,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACxC,eAAA,EAAiB,EAAE,OAAA,EAAQ;AAAA,EAC3B,gBAAA,EAAkB,EAAE,OAAA;AACtB,CAAC,CAAA;AAEM,IAAM,0BAAA,GAA6B,EAAE,MAAA,CAAO;AAAA,EACjD,GAAA,EAAK,EAAE,MAAA,EAAO;AAAA,EACd,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,GAAA,EAAK,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACzB,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAC1B,CAAC,CAAA;AAEM,IAAM,kBAAA,GAAqB,EAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,OAAA,EAAS,EAAE,MAAA,EAAO;AAAA,EAClB,OAAO,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACpC,YAAA,EAAc,CAAA,CAAE,KAAA,CAAM,0BAA0B;AAClD,CAAC,CAAA;AAEM,IAAM,eAAA,GAAkB,EAAE,MAAA,CAAO;AAAA,EACtC,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,eAAA,EAAiB,EAAE,MAAA,EAAO;AAAA,EAC1B,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,IAAA,EAAM,CAAA,CAAE,KAAA,CAAM,kBAAkB;AAClC,CAAC,CAAA;AAEkC,EAAE,MAAA,CAAO;AAAA,EAC1C,EAAA,EAAI,qBAAA;AAAA,EACJ,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAM,EAAE,MAAA,EAAO;AAAA,EACf,WAAA,EAAa,EAAE,MAAA,EAAO;AAAA,EACtB,WAAA,EAAa,EAAE,MAAA,EAAO;AAAA,EACtB,MAAA,EAAQ,EAAE,MAAA,EAAO;AAAA,EACjB,QAAA,EAAU,EAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA,EAAY;AAAA,EAC9B,gBAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EAClD,WAAA,EAAa,EAAE,OAAA,EAAQ;AAAA,EACvB,gBAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC7C,KAAA,EAAO,EAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAU,EAAE,MAAA,EAAO;AAAA,EACnB,UAAA,EAAY,sBAAsB,QAAA,EAAS;AAAA,EAC3C,IAAA,EAAM,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,QAAQ,CAAA;AAAA,EACxB,cAAA,EAAgB,CAAA,CAAE,KAAA,CAAM,cAAc,CAAA;AAAA,EACtC,QAAA,EAAU,CAAA,CAAE,KAAA,CAAM,iBAAiB,CAAA;AAAA,EACnC,MAAA,EAAQ,CAAA,CAAE,KAAA,CAAM,kBAAkB,CAAA;AAAA,EAClC,WAAA,EAAa,CAAA,CAAE,KAAA,CAAM,gBAAgB,CAAA;AAAA,EACrC,SAAA,EAAW,gBAAgB,QAAA,EAAS;AAAA,EACpC,UAAA,EAAY,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,EAC1C,SAAA,EAAW,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,CAAS,EAAE,MAAA,EAAQ,IAAA,EAAM,CAAA,CAAE,QAAA,EAAS;AAAA,EAC1D,SAAA,EAAW,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,CAAS,EAAE,MAAA,EAAQ,IAAA,EAAM,CAAA,CAAE,QAAA;AACnD,CAAC;;;AC1MM,IAAM,+BAAA,GAAkCA,EAAE,MAAA,CAAO;AAAA,EACtD,MAAA,EAAQA,EAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,EAAE,CAAA;AAAA,EAChC,KAAA,EAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,EACpD,UAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,GAAO,QAAA;AAC9B,CAAC;AAEM,IAAM,uBAAA,GAA0BA,EAAE,MAAA,CAAO;AAAA,EAC9C,EAAA,EAAI,qBAAA;AAAA,EACJ,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,EAAE,MAAA,EAAO;AAAA,EACf,QAAA,EAAUA,EAAE,MAAA;AACd,CAAC;AAEM,IAAM,wBAAA,GAA2BA,CAAAA,CAAE,KAAA,CAAM,uBAAuB","file":"search.js","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 ProductAutocompleteParamsSchema = z.object({\n search: z.string().min(2).max(80),\n limit: z.number().int().positive().max(20).default(8),\n sellerId: z.string().uuid().optional(),\n})\n\nexport const ProductSuggestionSchema = z.object({\n id: ProductPublicIdSchema,\n name: z.string(),\n slug: z.string(),\n imageUrl: z.string(),\n})\n\nexport const ProductSuggestionsSchema = z.array(ProductSuggestionSchema)\n\nexport type ProductAutocompleteParams = z.input<typeof ProductAutocompleteParamsSchema>\nexport type ProductSuggestion = z.infer<typeof ProductSuggestionSchema>\n"]}
1
+ {"version":3,"sources":["../../src/models/ids.ts","../../src/models/products.ts","../../src/models/search.ts"],"names":["z"],"mappings":"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","file":"search.js","sourcesContent":["import { z } from 'zod'\n\n/**\n * UUID o id numérico de la API (p. ej. `\"2\"`, snowflake `\"74400…\"`).\n * Usar en lugar de `z.string().uuid()` para ids de entidades.\n */\nexport const EntityIdSchema = z.union([\n z.string().uuid(),\n z.string().regex(/^\\d+$/, 'Expected numeric id'),\n])\n\nexport const NullableEntityIdSchema = EntityIdSchema.nullable()\nexport const OptionalEntityIdSchema = EntityIdSchema.optional()\n\nexport type EntityId = z.infer<typeof EntityIdSchema>\n","import { z } from 'zod'\nimport {\n OptionalEntityIdSchema,\n} from './ids'\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: OptionalEntityIdSchema,\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: OptionalEntityIdSchema,\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: OptionalEntityIdSchema,\n})\n\nexport const RelatedProductsParamsSchema = z.object({\n productId: ProductPublicIdSchema,\n limit: z.number().int().positive().max(12).default(8),\n sellerId: OptionalEntityIdSchema,\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'\nimport {\n OptionalEntityIdSchema,\n} from './ids'\n\nimport { ProductPublicIdSchema } from './products'\n\nexport const ProductAutocompleteParamsSchema = z.object({\n search: z.string().min(2).max(80),\n limit: z.number().int().positive().max(20).default(8),\n sellerId: OptionalEntityIdSchema,\n})\n\nexport const ProductSuggestionSchema = z.object({\n id: ProductPublicIdSchema,\n name: z.string(),\n slug: z.string(),\n imageUrl: z.string(),\n})\n\nexport const ProductSuggestionsSchema = z.array(ProductSuggestionSchema)\n\nexport type ProductAutocompleteParams = z.input<typeof ProductAutocompleteParamsSchema>\nexport type ProductSuggestion = z.infer<typeof ProductSuggestionSchema>\n"]}
@@ -2,6 +2,14 @@
2
2
 
3
3
  var zod = require('zod');
4
4
 
5
+ // src/models/settings.ts
6
+ var EntityIdSchema = zod.z.union([
7
+ zod.z.string().uuid(),
8
+ zod.z.string().regex(/^\d+$/, "Expected numeric id")
9
+ ]);
10
+ var NullableEntityIdSchema = EntityIdSchema.nullable();
11
+ var OptionalEntityIdSchema = EntityIdSchema.optional();
12
+
5
13
  // src/models/settings.ts
6
14
  var JsonElementSchema = zod.z.lazy(
7
15
  () => zod.z.union([
@@ -15,7 +23,6 @@ var JsonElementSchema = zod.z.lazy(
15
23
  );
16
24
  var DateTimeOffsetSchema = zod.z.string().datetime({ offset: true });
17
25
  var NullableDateTimeOffsetSchema = DateTimeOffsetSchema.nullable();
18
- var NullableUuidSchema = zod.z.string().uuid().nullable();
19
26
  var StoreTypeSchema = zod.z.enum([
20
27
  "b2C",
21
28
  "marketplace",
@@ -78,9 +85,9 @@ var StoreCheckoutSettingsSchema = zod.z.object({
78
85
  ordersAndPayments: StoreCheckoutOrdersAndPaymentsSettingsSchema
79
86
  }).strict();
80
87
  var StorefrontStoreShape = {
81
- id: zod.z.string().uuid(),
82
- tenantId: zod.z.string().uuid(),
83
- sellerId: NullableUuidSchema,
88
+ id: EntityIdSchema,
89
+ tenantId: EntityIdSchema,
90
+ sellerId: NullableEntityIdSchema,
84
91
  type: StoreTypeSchema,
85
92
  isActive: zod.z.boolean(),
86
93
  name: zod.z.string(),
@@ -161,13 +168,13 @@ var CmsMenuDtoSchema = zod.z.object({
161
168
  items: zod.z.array(CmsMenuItemSchema)
162
169
  }).strict();
163
170
  var CmsBlockDtoSchema = zod.z.object({
164
- id: zod.z.string().uuid(),
171
+ id: EntityIdSchema,
165
172
  type: zod.z.string(),
166
173
  order: zod.z.number().int(),
167
174
  settings: JsonElementSchema
168
175
  }).strict();
169
176
  var CmsSectionDtoSchema = zod.z.object({
170
- id: zod.z.string().uuid(),
177
+ id: EntityIdSchema,
171
178
  type: zod.z.string(),
172
179
  order: zod.z.number().int(),
173
180
  settings: JsonElementSchema,
@@ -176,7 +183,7 @@ var CmsSectionDtoSchema = zod.z.object({
176
183
  var CmsContentChannelSchema = zod.z.enum(["storefront", "pos"]);
177
184
  var CmsPageStatusSchema = zod.z.enum(["draft", "published", "archived"]);
178
185
  var CmsPageDetailsDtoSchema = zod.z.object({
179
- id: zod.z.string().uuid(),
186
+ id: EntityIdSchema,
180
187
  name: zod.z.string(),
181
188
  slug: zod.z.string(),
182
189
  channel: CmsContentChannelSchema,
@@ -187,11 +194,11 @@ var CmsPageDetailsDtoSchema = zod.z.object({
187
194
  status: CmsPageStatusSchema,
188
195
  hasPublishedVersion: zod.z.boolean(),
189
196
  publishedOn: NullableDateTimeOffsetSchema,
190
- publishedBy: NullableUuidSchema,
197
+ publishedBy: NullableEntityIdSchema,
191
198
  createdOn: DateTimeOffsetSchema,
192
199
  updatedOn: NullableDateTimeOffsetSchema,
193
- createdBy: NullableUuidSchema,
194
- updatedBy: NullableUuidSchema,
200
+ createdBy: NullableEntityIdSchema,
201
+ updatedBy: NullableEntityIdSchema,
195
202
  lastModifiedBy: zod.z.string().nullable()
196
203
  }).strict();
197
204
  var CmsSnapshotDtoSchema = zod.z.object({
@@ -251,7 +258,10 @@ exports.CmsSiteSettingsDtoSchema = CmsSiteSettingsDtoSchema;
251
258
  exports.CmsSnapshotDtoSchema = CmsSnapshotDtoSchema;
252
259
  exports.CmsSocialLinksDtoSchema = CmsSocialLinksDtoSchema;
253
260
  exports.CmsTrackingSettingsDtoSchema = CmsTrackingSettingsDtoSchema;
261
+ exports.EntityIdSchema = EntityIdSchema;
254
262
  exports.JsonElementSchema = JsonElementSchema;
263
+ exports.NullableEntityIdSchema = NullableEntityIdSchema;
264
+ exports.OptionalEntityIdSchema = OptionalEntityIdSchema;
255
265
  exports.StoreCheckoutCartPageSettingsSchema = StoreCheckoutCartPageSettingsSchema;
256
266
  exports.StoreCheckoutGeneralSettingsSchema = StoreCheckoutGeneralSettingsSchema;
257
267
  exports.StoreCheckoutOrderBumpSettingsSchema = StoreCheckoutOrderBumpSettingsSchema;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/settings.ts"],"names":["z"],"mappings":"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","file":"settings.cjs","sourcesContent":["import { z } from 'zod'\n\nexport type JsonElement =\n | null\n | boolean\n | number\n | string\n | JsonElement[]\n | { [key: string]: JsonElement }\n\nexport const JsonElementSchema: z.ZodType<JsonElement> = z.lazy(() =>\n z.union([\n z.null(),\n z.boolean(),\n z.number().finite(),\n z.string(),\n z.array(JsonElementSchema),\n z.record(z.string(), JsonElementSchema),\n ]),\n)\n\nconst DateTimeOffsetSchema = z.string().datetime({ offset: true })\nconst NullableDateTimeOffsetSchema = DateTimeOffsetSchema.nullable()\nconst NullableUuidSchema = z.string().uuid().nullable()\n\nexport const StoreTypeSchema = z.enum([\n 'b2C',\n 'marketplace',\n 'retail',\n 'b2B',\n 'social',\n 'hub',\n 'restaurant',\n])\n\nexport const StoreVisibilitySchema = z.enum(['public', 'private'])\n\nexport const StoreThemeSettingsSchema = z\n .object({\n name: z.string().nullable(),\n mode: z.string().nullable(),\n colors: z.record(z.string(), z.string()),\n fonts: z.record(z.string(), z.string()),\n assets: z.record(z.string(), z.string()),\n })\n .strict()\n\nexport const StoreFeatureFlagsSchema = z\n .object({\n flags: z.record(z.string(), z.boolean()),\n })\n .strict()\n\nexport const StoreCheckoutGeneralSettingsSchema = z\n .object({\n allowGuestCheckout: z.boolean(),\n identityScope: z.enum(['store', 'tenant', 'global']),\n signInMethods: z.array(z.enum(['password', 'emailOtp', 'google'])),\n useSequentialOrderNumbers: z.boolean(),\n automaticallySelectFirstAddress: z.boolean(),\n alwaysRequestCustomerAddress: z.boolean(),\n requestCustomerDateOfBirth: z.boolean(),\n automaticallySelectBestPromotion: z.boolean(),\n })\n .strict()\n\nexport const StoreCheckoutShippingSettingsSchema = z\n .object({\n showDeliveryTime: z.boolean(),\n showDeliveryTimeInDays: z.boolean(),\n useBusinessDaysForDeliveryTime: z.boolean(),\n showEstimatedDeliveryDateInThankYouAndEmails: z.boolean(),\n showOriginalShippingPriceWhenFree: z.boolean(),\n })\n .strict()\n\nexport const StoreCheckoutCartPageSettingsSchema = z\n .object({\n showShippingCostCalculation: z.boolean(),\n allowProductLinks: z.boolean(),\n redirectToCartPage: z.boolean(),\n })\n .strict()\n\nexport const StoreCheckoutOrderBumpSettingsSchema = z\n .object({\n mergeOrderBumpOrders: z.boolean(),\n allowOnlyOneAdditionalOffer: z.boolean(),\n maxVisibleOffers: z.number().int(),\n })\n .strict()\n\nexport const StoreCheckoutOrdersAndPaymentsSettingsSchema = z\n .object({\n allowPurchasesFrom: z.enum(['any', 'individual', 'company']),\n creditCardDailyOrderLimitPerIp: z.number().int().nullable(),\n maximumItemsPerOrder: z.number().int().nullable(),\n deliveryNoteText: z.string().nullable(),\n boletoPaymentNoteText: z.string().nullable(),\n })\n .strict()\n\nexport const StoreCheckoutSettingsSchema = z\n .object({\n general: StoreCheckoutGeneralSettingsSchema,\n shipping: StoreCheckoutShippingSettingsSchema,\n cartPage: StoreCheckoutCartPageSettingsSchema,\n orderBumps: StoreCheckoutOrderBumpSettingsSchema,\n ordersAndPayments: StoreCheckoutOrdersAndPaymentsSettingsSchema,\n })\n .strict()\n\nconst StorefrontStoreShape = {\n id: z.string().uuid(),\n tenantId: z.string().uuid(),\n sellerId: NullableUuidSchema,\n type: StoreTypeSchema,\n isActive: z.boolean(),\n name: z.string(),\n description: z.string(),\n logo: z.string().nullable(),\n icon: z.string().nullable(),\n slug: z.string().nullable(),\n domain: z.string().nullable(),\n domains: z.array(z.string()),\n timeZone: z.string(),\n currency: z.string(),\n language: z.string(),\n visibility: StoreVisibilitySchema,\n themeConfig: StoreThemeSettingsSchema,\n featuresEnabled: StoreFeatureFlagsSchema,\n checkoutSettings: StoreCheckoutSettingsSchema,\n}\n\nexport const StoreModelSchema = z.object(StorefrontStoreShape).strict()\n\nexport type StoreModel = z.infer<typeof StoreModelSchema>\n\nexport const CmsBrandingSettingsDtoSchema = z\n .object({\n logoUrl: z.string().nullable(),\n logoDarkUrl: z.string().nullable(),\n faviconUrl: z.string().nullable(),\n socialImageUrl: z.string().nullable(),\n })\n .strict()\n\nexport const CmsSeoSettingsDtoSchema = z\n .object({\n siteName: z.string().nullable(),\n metaTitle: z.string().nullable(),\n metaDescription: z.string().nullable(),\n titleTemplate: z.string().nullable(),\n robotsIndex: z.boolean(),\n })\n .strict()\n\nexport const CmsSocialLinksDtoSchema = z\n .object({\n instagram: z.string().nullable(),\n facebook: z.string().nullable(),\n tiktok: z.string().nullable(),\n youtube: z.string().nullable(),\n x: z.string().nullable(),\n })\n .strict()\n\nexport const CmsContactSettingsDtoSchema = z\n .object({\n supportEmail: z.string().nullable(),\n phone: z.string().nullable(),\n whatsapp: z.string().nullable(),\n address: z.string().nullable(),\n socialLinks: CmsSocialLinksDtoSchema,\n })\n .strict()\n\nexport const CmsTrackingSettingsDtoSchema = z\n .object({\n googleAnalyticsMeasurementId: z.string().nullable(),\n metaPixelId: z.string().nullable(),\n googleTagManagerContainerId: z.string().nullable(),\n })\n .strict()\n\nexport const CmsCustomScriptsDtoSchema = z\n .object({\n enabled: z.boolean(),\n head: z.string().nullable(),\n bodyEnd: z.string().nullable(),\n })\n .strict()\n\nexport const CmsSiteSettingsDtoSchema = z\n .object({\n themeKey: z.string(),\n branding: CmsBrandingSettingsDtoSchema,\n seo: CmsSeoSettingsDtoSchema,\n contact: CmsContactSettingsDtoSchema,\n tracking: CmsTrackingSettingsDtoSchema,\n customScripts: CmsCustomScriptsDtoSchema,\n updatedOn: NullableDateTimeOffsetSchema,\n })\n .strict()\n\nexport type CmsMenuItem = {\n label: string\n url: string\n order: number\n target: string | null\n visible: boolean | null\n children: CmsMenuItem[] | null\n}\n\nexport const CmsMenuItemSchema: z.ZodType<CmsMenuItem> = z.lazy(() =>\n z\n .object({\n label: z.string(),\n url: z.string(),\n order: z.number().int(),\n target: z.string().nullable(),\n visible: z.boolean().nullable(),\n children: z.array(CmsMenuItemSchema).nullable(),\n })\n .strict(),\n)\n\nexport const CmsMenuDtoSchema = z\n .object({\n key: z.string(),\n name: z.string(),\n items: z.array(CmsMenuItemSchema),\n })\n .strict()\n\nexport type CmsMenuDto = z.infer<typeof CmsMenuDtoSchema>\n\nexport const CmsBlockDtoSchema = z\n .object({\n id: z.string().uuid(),\n type: z.string(),\n order: z.number().int(),\n settings: JsonElementSchema,\n })\n .strict()\n\nexport type CmsBlockDto = z.infer<typeof CmsBlockDtoSchema>\n\nexport const CmsSectionDtoSchema = z\n .object({\n id: z.string().uuid(),\n type: z.string(),\n order: z.number().int(),\n settings: JsonElementSchema,\n blocks: z.array(CmsBlockDtoSchema),\n })\n .strict()\n\nexport type CmsSectionDto = z.infer<typeof CmsSectionDtoSchema>\n\nexport const CmsContentChannelSchema = z.enum(['storefront', 'pos'])\nexport const CmsPageStatusSchema = z.enum(['draft', 'published', 'archived'])\n\nexport const CmsPageDetailsDtoSchema = z\n .object({\n id: z.string().uuid(),\n name: z.string(),\n slug: z.string(),\n channel: CmsContentChannelSchema,\n layout: z.string(),\n version: z.number().int().nullable(),\n settings: JsonElementSchema,\n sections: z.array(CmsSectionDtoSchema),\n status: CmsPageStatusSchema,\n hasPublishedVersion: z.boolean(),\n publishedOn: NullableDateTimeOffsetSchema,\n publishedBy: NullableUuidSchema,\n createdOn: DateTimeOffsetSchema,\n updatedOn: NullableDateTimeOffsetSchema,\n createdBy: NullableUuidSchema,\n updatedBy: NullableUuidSchema,\n lastModifiedBy: z.string().nullable(),\n })\n .strict()\n\nexport type CmsPageDetailsDto = z.infer<typeof CmsPageDetailsDtoSchema>\n\nexport const CmsSnapshotDtoSchema = z\n .object({\n settings: CmsSiteSettingsDtoSchema,\n pages: z.array(CmsPageDetailsDtoSchema),\n menus: z.array(CmsMenuDtoSchema),\n })\n .strict()\n\nexport type CmsSnapshotDto = z.infer<typeof CmsSnapshotDtoSchema>\n\nconst StoreSettingsSnapshotV1Schema = z\n .object({\n schemaVersion: z.literal(1),\n generatedAt: DateTimeOffsetSchema,\n store: z.object(StorefrontStoreShape),\n cms: CmsSnapshotDtoSchema,\n })\n .strict()\n\nconst StoreSettingsSnapshotV2Schema = z\n .object({\n schemaVersion: z.literal(2),\n generatedAt: DateTimeOffsetSchema,\n store: StoreModelSchema,\n cms: CmsSnapshotDtoSchema,\n })\n .strict()\n\nexport const StoreSettingsSnapshotDtoSchema = z.discriminatedUnion(\n 'schemaVersion',\n [StoreSettingsSnapshotV1Schema, StoreSettingsSnapshotV2Schema],\n)\n\nexport type StoreSettingsSnapshotDto = z.infer<\n typeof StoreSettingsSnapshotDtoSchema\n>\n\nexport const StorefrontCheckoutSettingsSchema = StoreCheckoutSettingsSchema\nexport const StorefrontFeaturesEnabledSchema = StoreFeatureFlagsSchema\nexport const StorefrontCmsBrandingSchema = CmsBrandingSettingsDtoSchema\nexport const StorefrontThemeConfigSchema = StoreThemeSettingsSchema\nexport const StorefrontStoreTypeSchema = StoreTypeSchema\nexport const StorefrontStoreSchema = StoreModelSchema\nexport const StorefrontCmsSeoSchema = CmsSeoSettingsDtoSchema\nexport const StorefrontCmsSocialLinksSchema = CmsSocialLinksDtoSchema\nexport const StorefrontCmsContactSchema = CmsContactSettingsDtoSchema\nexport const StorefrontCmsTrackingSchema = CmsTrackingSettingsDtoSchema\nexport const StorefrontCmsCustomScriptsSchema = CmsCustomScriptsDtoSchema\nexport const StorefrontCmsSettingsSchema = CmsSiteSettingsDtoSchema\nexport const StorefrontMenuItemSchema = CmsMenuItemSchema\nexport const StorefrontMenuSchema = CmsMenuDtoSchema\nexport const StorefrontCmsPageSchema = CmsPageDetailsDtoSchema\nexport const StorefrontSettingsSchema = StoreSettingsSnapshotDtoSchema\n\nexport type StorefrontMenuItem = z.infer<typeof StorefrontMenuItemSchema>\nexport type StorefrontMenu = z.infer<typeof StorefrontMenuSchema>\nexport type StorefrontSettings = z.infer<typeof StorefrontSettingsSchema>\n\nexport function getMenuItems(\n settings: StorefrontSettings | null | undefined,\n key: string,\n): StorefrontMenuItem[] {\n const menu = settings?.cms.menus.find((candidate) => candidate.key === key)\n return (menu?.items ?? [])\n .filter((item) => item.visible !== false)\n .slice()\n .sort((a, b) => a.order - b.order)\n}\n"]}
1
+ {"version":3,"sources":["../../src/models/ids.ts","../../src/models/settings.ts"],"names":["z"],"mappings":"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","file":"settings.cjs","sourcesContent":["import { z } from 'zod'\n\n/**\n * UUID o id numérico de la API (p. ej. `\"2\"`, snowflake `\"74400…\"`).\n * Usar en lugar de `z.string().uuid()` para ids de entidades.\n */\nexport const EntityIdSchema = z.union([\n z.string().uuid(),\n z.string().regex(/^\\d+$/, 'Expected numeric id'),\n])\n\nexport const NullableEntityIdSchema = EntityIdSchema.nullable()\nexport const OptionalEntityIdSchema = EntityIdSchema.optional()\n\nexport type EntityId = z.infer<typeof EntityIdSchema>\n","import { z } from 'zod'\nimport {\n EntityIdSchema,\n NullableEntityIdSchema,\n} from './ids'\n\nexport type { EntityId } from './ids'\nexport { EntityIdSchema, NullableEntityIdSchema, OptionalEntityIdSchema } from './ids'\n\nexport type JsonElement =\n | null\n | boolean\n | number\n | string\n | JsonElement[]\n | { [key: string]: JsonElement }\n\nexport const JsonElementSchema: z.ZodType<JsonElement> = z.lazy(() =>\n z.union([\n z.null(),\n z.boolean(),\n z.number().finite(),\n z.string(),\n z.array(JsonElementSchema),\n z.record(z.string(), JsonElementSchema),\n ]),\n)\n\nconst DateTimeOffsetSchema = z.string().datetime({ offset: true })\nconst NullableDateTimeOffsetSchema = DateTimeOffsetSchema.nullable()\n\nexport const StoreTypeSchema = z.enum([\n 'b2C',\n 'marketplace',\n 'retail',\n 'b2B',\n 'social',\n 'hub',\n 'restaurant',\n])\n\nexport const StoreVisibilitySchema = z.enum(['public', 'private'])\n\nexport const StoreThemeSettingsSchema = z\n .object({\n name: z.string().nullable(),\n mode: z.string().nullable(),\n colors: z.record(z.string(), z.string()),\n fonts: z.record(z.string(), z.string()),\n assets: z.record(z.string(), z.string()),\n })\n .strict()\n\nexport const StoreFeatureFlagsSchema = z\n .object({\n flags: z.record(z.string(), z.boolean()),\n })\n .strict()\n\nexport const StoreCheckoutGeneralSettingsSchema = z\n .object({\n allowGuestCheckout: z.boolean(),\n identityScope: z.enum(['store', 'tenant', 'global']),\n signInMethods: z.array(z.enum(['password', 'emailOtp', 'google'])),\n useSequentialOrderNumbers: z.boolean(),\n automaticallySelectFirstAddress: z.boolean(),\n alwaysRequestCustomerAddress: z.boolean(),\n requestCustomerDateOfBirth: z.boolean(),\n automaticallySelectBestPromotion: z.boolean(),\n })\n .strict()\n\nexport const StoreCheckoutShippingSettingsSchema = z\n .object({\n showDeliveryTime: z.boolean(),\n showDeliveryTimeInDays: z.boolean(),\n useBusinessDaysForDeliveryTime: z.boolean(),\n showEstimatedDeliveryDateInThankYouAndEmails: z.boolean(),\n showOriginalShippingPriceWhenFree: z.boolean(),\n })\n .strict()\n\nexport const StoreCheckoutCartPageSettingsSchema = z\n .object({\n showShippingCostCalculation: z.boolean(),\n allowProductLinks: z.boolean(),\n redirectToCartPage: z.boolean(),\n })\n .strict()\n\nexport const StoreCheckoutOrderBumpSettingsSchema = z\n .object({\n mergeOrderBumpOrders: z.boolean(),\n allowOnlyOneAdditionalOffer: z.boolean(),\n maxVisibleOffers: z.number().int(),\n })\n .strict()\n\nexport const StoreCheckoutOrdersAndPaymentsSettingsSchema = z\n .object({\n allowPurchasesFrom: z.enum(['any', 'individual', 'company']),\n creditCardDailyOrderLimitPerIp: z.number().int().nullable(),\n maximumItemsPerOrder: z.number().int().nullable(),\n deliveryNoteText: z.string().nullable(),\n boletoPaymentNoteText: z.string().nullable(),\n })\n .strict()\n\nexport const StoreCheckoutSettingsSchema = z\n .object({\n general: StoreCheckoutGeneralSettingsSchema,\n shipping: StoreCheckoutShippingSettingsSchema,\n cartPage: StoreCheckoutCartPageSettingsSchema,\n orderBumps: StoreCheckoutOrderBumpSettingsSchema,\n ordersAndPayments: StoreCheckoutOrdersAndPaymentsSettingsSchema,\n })\n .strict()\n\nconst StorefrontStoreShape = {\n id: EntityIdSchema,\n tenantId: EntityIdSchema,\n sellerId: NullableEntityIdSchema,\n type: StoreTypeSchema,\n isActive: z.boolean(),\n name: z.string(),\n description: z.string(),\n logo: z.string().nullable(),\n icon: z.string().nullable(),\n slug: z.string().nullable(),\n domain: z.string().nullable(),\n domains: z.array(z.string()),\n timeZone: z.string(),\n currency: z.string(),\n language: z.string(),\n visibility: StoreVisibilitySchema,\n themeConfig: StoreThemeSettingsSchema,\n featuresEnabled: StoreFeatureFlagsSchema,\n checkoutSettings: StoreCheckoutSettingsSchema,\n}\n\nexport const StoreModelSchema = z.object(StorefrontStoreShape).strict()\n\nexport type StoreModel = z.infer<typeof StoreModelSchema>\n\nexport const CmsBrandingSettingsDtoSchema = z\n .object({\n logoUrl: z.string().nullable(),\n logoDarkUrl: z.string().nullable(),\n faviconUrl: z.string().nullable(),\n socialImageUrl: z.string().nullable(),\n })\n .strict()\n\nexport const CmsSeoSettingsDtoSchema = z\n .object({\n siteName: z.string().nullable(),\n metaTitle: z.string().nullable(),\n metaDescription: z.string().nullable(),\n titleTemplate: z.string().nullable(),\n robotsIndex: z.boolean(),\n })\n .strict()\n\nexport const CmsSocialLinksDtoSchema = z\n .object({\n instagram: z.string().nullable(),\n facebook: z.string().nullable(),\n tiktok: z.string().nullable(),\n youtube: z.string().nullable(),\n x: z.string().nullable(),\n })\n .strict()\n\nexport const CmsContactSettingsDtoSchema = z\n .object({\n supportEmail: z.string().nullable(),\n phone: z.string().nullable(),\n whatsapp: z.string().nullable(),\n address: z.string().nullable(),\n socialLinks: CmsSocialLinksDtoSchema,\n })\n .strict()\n\nexport const CmsTrackingSettingsDtoSchema = z\n .object({\n googleAnalyticsMeasurementId: z.string().nullable(),\n metaPixelId: z.string().nullable(),\n googleTagManagerContainerId: z.string().nullable(),\n })\n .strict()\n\nexport const CmsCustomScriptsDtoSchema = z\n .object({\n enabled: z.boolean(),\n head: z.string().nullable(),\n bodyEnd: z.string().nullable(),\n })\n .strict()\n\nexport const CmsSiteSettingsDtoSchema = z\n .object({\n themeKey: z.string(),\n branding: CmsBrandingSettingsDtoSchema,\n seo: CmsSeoSettingsDtoSchema,\n contact: CmsContactSettingsDtoSchema,\n tracking: CmsTrackingSettingsDtoSchema,\n customScripts: CmsCustomScriptsDtoSchema,\n updatedOn: NullableDateTimeOffsetSchema,\n })\n .strict()\n\nexport type CmsMenuItem = {\n label: string\n url: string\n order: number\n target: string | null\n visible: boolean | null\n children: CmsMenuItem[] | null\n}\n\nexport const CmsMenuItemSchema: z.ZodType<CmsMenuItem> = z.lazy(() =>\n z\n .object({\n label: z.string(),\n url: z.string(),\n order: z.number().int(),\n target: z.string().nullable(),\n visible: z.boolean().nullable(),\n children: z.array(CmsMenuItemSchema).nullable(),\n })\n .strict(),\n)\n\nexport const CmsMenuDtoSchema = z\n .object({\n key: z.string(),\n name: z.string(),\n items: z.array(CmsMenuItemSchema),\n })\n .strict()\n\nexport type CmsMenuDto = z.infer<typeof CmsMenuDtoSchema>\n\nexport const CmsBlockDtoSchema = z\n .object({\n id: EntityIdSchema,\n type: z.string(),\n order: z.number().int(),\n settings: JsonElementSchema,\n })\n .strict()\n\nexport type CmsBlockDto = z.infer<typeof CmsBlockDtoSchema>\n\nexport const CmsSectionDtoSchema = z\n .object({\n id: EntityIdSchema,\n type: z.string(),\n order: z.number().int(),\n settings: JsonElementSchema,\n blocks: z.array(CmsBlockDtoSchema),\n })\n .strict()\n\nexport type CmsSectionDto = z.infer<typeof CmsSectionDtoSchema>\n\nexport const CmsContentChannelSchema = z.enum(['storefront', 'pos'])\nexport const CmsPageStatusSchema = z.enum(['draft', 'published', 'archived'])\n\nexport const CmsPageDetailsDtoSchema = z\n .object({\n id: EntityIdSchema,\n name: z.string(),\n slug: z.string(),\n channel: CmsContentChannelSchema,\n layout: z.string(),\n version: z.number().int().nullable(),\n settings: JsonElementSchema,\n sections: z.array(CmsSectionDtoSchema),\n status: CmsPageStatusSchema,\n hasPublishedVersion: z.boolean(),\n publishedOn: NullableDateTimeOffsetSchema,\n publishedBy: NullableEntityIdSchema,\n createdOn: DateTimeOffsetSchema,\n updatedOn: NullableDateTimeOffsetSchema,\n createdBy: NullableEntityIdSchema,\n updatedBy: NullableEntityIdSchema,\n lastModifiedBy: z.string().nullable(),\n })\n .strict()\n\nexport type CmsPageDetailsDto = z.infer<typeof CmsPageDetailsDtoSchema>\n\nexport const CmsSnapshotDtoSchema = z\n .object({\n settings: CmsSiteSettingsDtoSchema,\n pages: z.array(CmsPageDetailsDtoSchema),\n menus: z.array(CmsMenuDtoSchema),\n })\n .strict()\n\nexport type CmsSnapshotDto = z.infer<typeof CmsSnapshotDtoSchema>\n\nconst StoreSettingsSnapshotV1Schema = z\n .object({\n schemaVersion: z.literal(1),\n generatedAt: DateTimeOffsetSchema,\n store: z.object(StorefrontStoreShape),\n cms: CmsSnapshotDtoSchema,\n })\n .strict()\n\nconst StoreSettingsSnapshotV2Schema = z\n .object({\n schemaVersion: z.literal(2),\n generatedAt: DateTimeOffsetSchema,\n store: StoreModelSchema,\n cms: CmsSnapshotDtoSchema,\n })\n .strict()\n\nexport const StoreSettingsSnapshotDtoSchema = z.discriminatedUnion(\n 'schemaVersion',\n [StoreSettingsSnapshotV1Schema, StoreSettingsSnapshotV2Schema],\n)\n\nexport type StoreSettingsSnapshotDto = z.infer<\n typeof StoreSettingsSnapshotDtoSchema\n>\n\nexport const StorefrontCheckoutSettingsSchema = StoreCheckoutSettingsSchema\nexport const StorefrontFeaturesEnabledSchema = StoreFeatureFlagsSchema\nexport const StorefrontCmsBrandingSchema = CmsBrandingSettingsDtoSchema\nexport const StorefrontThemeConfigSchema = StoreThemeSettingsSchema\nexport const StorefrontStoreTypeSchema = StoreTypeSchema\nexport const StorefrontStoreSchema = StoreModelSchema\nexport const StorefrontCmsSeoSchema = CmsSeoSettingsDtoSchema\nexport const StorefrontCmsSocialLinksSchema = CmsSocialLinksDtoSchema\nexport const StorefrontCmsContactSchema = CmsContactSettingsDtoSchema\nexport const StorefrontCmsTrackingSchema = CmsTrackingSettingsDtoSchema\nexport const StorefrontCmsCustomScriptsSchema = CmsCustomScriptsDtoSchema\nexport const StorefrontCmsSettingsSchema = CmsSiteSettingsDtoSchema\nexport const StorefrontMenuItemSchema = CmsMenuItemSchema\nexport const StorefrontMenuSchema = CmsMenuDtoSchema\nexport const StorefrontCmsPageSchema = CmsPageDetailsDtoSchema\nexport const StorefrontSettingsSchema = StoreSettingsSnapshotDtoSchema\n\nexport type StorefrontMenuItem = z.infer<typeof StorefrontMenuItemSchema>\nexport type StorefrontMenu = z.infer<typeof StorefrontMenuSchema>\nexport type StorefrontSettings = z.infer<typeof StorefrontSettingsSchema>\n\nexport function getMenuItems(\n settings: StorefrontSettings | null | undefined,\n key: string,\n): StorefrontMenuItem[] {\n const menu = settings?.cms.menus.find((candidate) => candidate.key === key)\n return (menu?.items ?? [])\n .filter((item) => item.visible !== false)\n .slice()\n .sort((a, b) => a.order - b.order)\n}\n"]}