feat(F-052): completed feature
This commit is contained in:
17
work/artifacts/F-052/documenter.md
Normal file
17
work/artifacts/F-052/documenter.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user