Merge fix/adr0006-etapa2-fase2-currency-code-search into main
This commit is contained in:
commit
41c7ad25e7
1 file changed
+26
-3
@@ -149,13 +149,36 @@ export async function GET(req: MedusaRequest, res: MedusaResponse) {
|
||||
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({
|
||||
entity: "product",
|
||||
fields: PRODUCT_FIELDS,
|
||||
filters: { id: productIds },
|
||||
context: regionId
|
||||
? { variants: { calculated_price: QueryContext({ region_id: regionId }) } }
|
||||
: {},
|
||||
context:
|
||||
regionId && currencyCode
|
||||
? {
|
||||
variants: {
|
||||
calculated_price: QueryContext({
|
||||
region_id: regionId,
|
||||
currency_code: currencyCode,
|
||||
}),
|
||||
},
|
||||
}
|
||||
: {},
|
||||
});
|
||||
|
||||
// Preserva el ranking de relevancia de Meilisearch -- query.graph no
|
||||
|
||||
Reference in new issue
Block a user