Compare commits

...
Author SHA1 Message Date
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
devops d6b84e4480 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
2026-08-26 16:31:24 -05:00
devops f8f540af6a Fase 2 fix: /store/search acepta region_id para calculated_price
Mismo error encontrado en el gate de verificacion, ahora en la ruta
propia en vez del job de sync: "Method calculatePrices requires
currency_code in the pricing context" -- query.graph necesita
region_id/currency_code en el contexto para resolver
variants.calculated_price. El storefront ya manda region_id contra
/store/products (medusa.ts, regionId()); esta ruta ahora acepta el
mismo query param y arma el contexto de pricing con QueryContext(),
igual que la ruta oficial /store/meilisearch/products del plugin.
2026-08-26 16:31:21 -05:00
gitea-actions 51eadd98dc chore(gitops): deploy Medusa v1.0.166 [skip ci] 2026-08-26 21:23:08 +00:00
devops fbf0aec892 Merge fix/adr0006-etapa2-fase2-precio-crudo-indexado into main
Build and Push Medusa / Escaneo de Secretos (Gitleaks) (push) Successful in 29s
Build and Push Medusa / Construir y publicar Medusa (push) Successful in 17m43s
2026-08-26 16:05:03 -05:00
gitea-actions 586313d6d7 chore(gitops): deploy Medusa v1.0.165 [skip ci] 2026-08-26 20:56:17 +00:00
2 changed files with 39 additions and 3 deletions

No files matched your search

@@ -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"]) {
@@ -139,10 +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 && currencyCode
? {
variants: {
calculated_price: QueryContext({
region_id: regionId,
currency_code: currencyCode,
}),
},
}
: {},
});
// Preserva el ranking de relevancia de Meilisearch -- query.graph no
@@ -65,7 +65,7 @@ spec:
memory: 64Mi
- name: migrations
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.127
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.166
imagePullPolicy: IfNotPresent
command:
- node
@@ -86,7 +86,7 @@ spec:
containers:
- name: app
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.127
image: gitea.cruzcloud.net/devops/ecommerce-medusa:v1.0.166
imagePullPolicy: IfNotPresent
envFrom:
- configMapRef: