Files
mercadodevida/work/artifacts/F-052/documenter.md
2026-08-19 10:47:17 +02:00

1.0 KiB

Documenter — F-052

Cambio visible

Las imágenes de producto ahora cargan correctamente en:

  • Frontend: http://192.168.18.93:3003/products/<slug>
  • Storefront: http://192.168.18.93:3005/products/<slug>

Las nuevas subidas desde el backoffice aparecen sin reiniciar ningún servicio.

Cómo funciona

  1. El admin sube una imagen vía /api/upload → escribe en apps/admin/public/uploads/.
  2. Inmediatamente, el mismo handler copia el archivo a frontend/public/uploads/ y storefront/public/uploads/.
  3. Los tres apps sirven la imagen con un handler dinámico /uploads/[filename]/route.ts que lee del disco en cada request.
  4. Al hacer monolith.sh start|restart, sync_uploads() reconcilia los archivos que estuvieran desincronizados.

Detalle técnico

Next.js en producción cachea el listado de public/ al hacer next build. Sin el handler dinámico, los archivos subidos después devolverían 404 hasta el próximo rebuild. El handler dinámico (readFile en cada request) evita ese problema y replica el patrón del admin.