Merge fix/adr0006-etapa2-fase2-region-id-search into main
This commit is contained in:
commit
d6b84e4480
1 file changed
+14
-1
@@ -1,5 +1,8 @@
|
||||
import type { MedusaRequest, MedusaResponse } from "@medusajs/framework";
|
||||
import { ContainerRegistrationKeys } from "@medusajs/framework/utils";
|
||||
import {
|
||||
ContainerRegistrationKeys,
|
||||
QueryContext,
|
||||
} from "@medusajs/framework/utils";
|
||||
import {
|
||||
MEILISEARCH_MODULE,
|
||||
type MeiliSearchService,
|
||||
@@ -76,6 +79,13 @@ export async function GET(req: MedusaRequest, res: MedusaResponse) {
|
||||
const q = stringParam(req.query, "q") ?? "";
|
||||
const limit = numberParam(req.query, "limit") ?? 24;
|
||||
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[] = [];
|
||||
for (const facet of ["category", "collection", "brand", "ageRange"]) {
|
||||
@@ -143,6 +153,9 @@ export async function GET(req: MedusaRequest, res: MedusaResponse) {
|
||||
entity: "product",
|
||||
fields: PRODUCT_FIELDS,
|
||||
filters: { id: productIds },
|
||||
context: regionId
|
||||
? { variants: { calculated_price: QueryContext({ region_id: regionId }) } }
|
||||
: {},
|
||||
});
|
||||
|
||||
// Preserva el ranking de relevancia de Meilisearch -- query.graph no
|
||||
|
||||
Reference in new issue
Block a user