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 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
|
||||||
|
|||||||
Reference in new issue
Block a user