Merge fix/adr0006-etapa2-fase2-region-id-search into main
Build and Push Medusa / Escaneo de Secretos (Gitleaks) (push) Successful in 24s
Build and Push Medusa / Construir y publicar Medusa (push) Successful in 12m49s

This commit is contained in:
devops committed 2026-08-26 16:31:24 -05:00
commit d6b84e4480
1 file changed
+14 -1
@@ -1,5 +1,8 @@
import type { MedusaRequest, MedusaResponse } from "@medusajs/framework"; import type { MedusaRequest, MedusaResponse } from "@medusajs/framework";
import { ContainerRegistrationKeys } from "@medusajs/framework/utils"; import {
ContainerRegistrationKeys,
QueryContext,
} from "@medusajs/framework/utils";
import { import {
MEILISEARCH_MODULE, MEILISEARCH_MODULE,
type MeiliSearchService, type MeiliSearchService,
@@ -76,6 +79,13 @@ export async function GET(req: MedusaRequest, res: MedusaResponse) {
const q = stringParam(req.query, "q") ?? ""; const q = stringParam(req.query, "q") ?? "";
const limit = numberParam(req.query, "limit") ?? 24; const limit = numberParam(req.query, "limit") ?? 24;
const offset = numberParam(req.query, "offset") ?? 0; const offset = numberParam(req.query, "offset") ?? 0;
// calculated_price exige region_id/currency_code en el contexto de
// pricing o query.graph tira "Method calculatePrices requires
// currency_code in the pricing context" (mismo error que ya rompio el
// job de sync -- ver medusa-config.ts). El storefront ya manda
// region_id contra /store/products (medusa.ts, regionId()); esta ruta
// espera el mismo query param.
const regionId = stringParam(req.query, "region_id");
const filterParts: string[] = []; const filterParts: string[] = [];
for (const facet of ["category", "collection", "brand", "ageRange"]) { for (const facet of ["category", "collection", "brand", "ageRange"]) {
@@ -143,6 +153,9 @@ export async function GET(req: MedusaRequest, res: MedusaResponse) {
entity: "product", entity: "product",
fields: PRODUCT_FIELDS, fields: PRODUCT_FIELDS,
filters: { id: productIds }, filters: { id: productIds },
context: regionId
? { variants: { calculated_price: QueryContext({ region_id: regionId }) } }
: {},
}); });
// Preserva el ranking de relevancia de Meilisearch -- query.graph no // Preserva el ranking de relevancia de Meilisearch -- query.graph no