Compare commits

..
Author SHA1 Message Date
devops 3b0be2bbdd fix(commerce-backend): exponer categories en /store/products
Build and Push Medusa / Escaneo de Secretos (Gitleaks) (pull_request) Successful in 49s
Build and Push Medusa / Construir y publicar Medusa (pull_request) Skipped
/store/products descarta en silencio la relacion +categories aunque
/admin/products si la expone (bug real, no teorico, confirmado en la
auditoria de Fase 5 con las 21 categorias y 9 productos [DEMO]
creados en Etapa 1 -- todos caian a "Variedades" pese a tener
categoria real asignada). Middleware global sobre req.allowed, patron
oficial de Medusa v2 para ampliar campos de una ruta core restringida.

Etapa 2, sub-fase 1 (categorias/colecciones reales) de
docs/decisiones/0005-rediseno-storefront.md.
2026-08-23 00:22:00 -05:00
gitea-actions 014b4f88a3 chore(gitops): deploy Docs Portal v1.0.125 [skip ci] 2026-08-23 04:58:44 +00:00
devops 3fefd44c49 Merge pull request 'docs(decisiones): ADR 0004 (stack multi-categoria) y 0005 (rediseno storefront)' (#26) from fix/fase5-adr-taxonomia-storefront into main
Build and Push Docs Portal / Escaneo de Secretos (Gitleaks) (push) Successful in 56s
Build and Push Docs Portal / Construir y publicar Docs Portal (push) Successful in 18m31s
2026-08-23 04:39:28 +00:00
2 changed files with 23 additions and 1 deletions

No files matched your search

@@ -0,0 +1,22 @@
import { defineMiddlewares } from "@medusajs/medusa"
// GET /store/products descarta en silencio la relacion `categories`
// aunque `/admin/products` si la expone -- confirmado en vivo en la
// auditoria de Fase 5 (ver docs/decisiones/0004-evaluacion-stack-multi-categoria.md).
// Este es el patron oficial de Medusa v2 para ampliar los campos
// permitidos de una ruta core restringida (middleware global sobre
// req.allowed), no un query-config custom:
// https://docs.medusajs.com/learn/fundamentals/api-routes/retrieve-custom-links
export default defineMiddlewares({
routes: [
{
matcher: "/store/products",
middlewares: [
(req, res, next) => {
;(req.allowed ??= []).push("categories")
next()
},
],
},
],
})
@@ -25,7 +25,7 @@ spec:
runAsNonRoot: false
containers:
- name: app
image: gitea.cruzcloud.net/devops/docs-portal:v1.0.123
image: gitea.cruzcloud.net/devops/docs-portal:v1.0.125
# El base saca TODAS las capabilities. Probado en vivo y
# revertido: con drop: ALL (aunque se agregue NET_BIND_SERVICE
# de vuelta) el propio entrypoint de nginx:1.27-alpine falla al