Merge fix/adr0006-etapa2-fase2-precio-crudo-indexado into main
Build and Push Medusa / Escaneo de Secretos (Gitleaks) (push) Successful in 29s
Build and Push Medusa / Construir y publicar Medusa (push) Successful in 17m43s

This commit is contained in:
devops committed 2026-08-26 16:05:03 -05:00
commit fbf0aec892
1 file changed
+19 -6
+19 -6
View File
@@ -47,7 +47,10 @@ async function meilisearchProductTransformer(
inventory_quantity?: number | null
manage_inventory?: boolean | null
allow_backorder?: boolean | null
calculated_price?: { calculated_amount?: number | null } | null
prices?: Array<{
amount?: number | null
currency_code?: string | null
}> | null
}>
| null
| undefined
@@ -63,6 +66,18 @@ async function meilisearchProductTransformer(
variant.manage_inventory === false ||
(variant.inventory_quantity ?? 0) > 0
// variants.calculated_price requiere currency_code/region_id en el
// contexto de pricing, que el workflow de sync interno del plugin no
// provee -- hace fallar TODO el job de indexado (confirmado en vivo:
// "Method calculatePrices requires currency_code in the pricing
// context"). variants.prices es la lista cruda de precios (sin
// resolver promociones/reglas), no necesita contexto -- alcanza para
// el filtro/orden por precio en la busqueda, que no necesita el
// precio final promocional.
const copPrice = variant?.prices?.find(
(price) => price.currency_code?.toLowerCase() === "cop",
)
return {
id: document.id,
name: document.title || "Producto ARI Shopping",
@@ -73,10 +88,7 @@ async function meilisearchProductTransformer(
brand: stringMetadata(metadata, "brand") || "ARI Shopping",
ageRange: stringMetadata(metadata, "ageRange") || "Todas",
tags: (tags || []).map((tag) => tag.value).filter(Boolean),
price:
typeof variant?.calculated_price?.calculated_amount === "number"
? variant.calculated_price.calculated_amount
: null,
price: typeof copPrice?.amount === "number" ? copPrice.amount : null,
available,
isNew: booleanMetadata(metadata, "isNew"),
featured: booleanMetadata(metadata, "featured"),
@@ -184,7 +196,8 @@ module.exports = defineConfig({
"variants.inventory_quantity",
"variants.manage_inventory",
"variants.allow_backorder",
"variants.calculated_price.calculated_amount",
"variants.prices.amount",
"variants.prices.currency_code",
],
indexSettings: {
// Tabla de ADR 0006 §3: Buscable / Filtrable-faceta / Ordenable.