Compare commits

...
2 Commits
Author SHA1 Message Date
devops 41c7ad25e7 Merge fix/adr0006-etapa2-fase2-currency-code-search into main
Build and Push Medusa / Construir y publicar Medusa (push) Successful in 11m17s
Build and Push Medusa / Escaneo de Secretos (Gitleaks) (push) Successful in 18s
2026-08-26 16:52:06 -05:00
devops 2056e6c766 Fase 2 fix: /store/search resuelve currency_code, no solo region_id
Confirmado en vivo: pasar solo region_id a QueryContext no alcanza --
"Method calculatePrices requires currency_code in the pricing
context" persistia. A diferencia de /store/products nativo (resuelto
por el middleware setPricingContext), esta ruta propia no pasa por esa
cadena, asi que resuelve la moneda real de la region con un
query.graph adicional antes de pedir calculated_price -- no asume COP
fijo por si el catalogo suma otra region/moneda despues.
2026-08-26 16:52:04 -05:00
@@ -149,12 +149,35 @@ export async function GET(req: MedusaRequest, res: MedusaResponse) {
return; return;
} }
// calculatePrices exige currency_code en el contexto -- no alcanza con
// region_id solo (a diferencia de /store/products nativo, que lo
// resuelve el middleware setPricingContext; esta ruta no pasa por esa
// cadena). Resolvemos la moneda real de la region en vez de asumir COP
// fijo, por si el catalogo suma otra region/moneda mas adelante.
let currencyCode: string | undefined;
if (regionId) {
const { data: regions = [] } = await query.graph({
entity: "region",
fields: ["id", "currency_code"],
filters: { id: regionId },
});
currencyCode = regions[0]?.currency_code;
}
const { data: products = [] } = await query.graph({ const { data: products = [] } = await query.graph({
entity: "product", entity: "product",
fields: PRODUCT_FIELDS, fields: PRODUCT_FIELDS,
filters: { id: productIds }, filters: { id: productIds },
context: regionId context:
? { variants: { calculated_price: QueryContext({ region_id: regionId }) } } regionId && currencyCode
? {
variants: {
calculated_price: QueryContext({
region_id: regionId,
currency_code: currencyCode,
}),
},
}
: {}, : {},
}); });