Files
mercadodevida/work/artifacts/F-161/architect.md
2026-08-22 18:13:37 +02:00

17 lines
894 B
Markdown

# F-161 — Diseño
## Auth boundary
`registerCheckoutRoutes` recibe `createSessionAuthenticator` (identity) en lugar de `combinedAuth`. Las rutas admin/orders permanecen combined porque sirven ambos contextos; checkout es customer-only.
## Read model
`PgOrderRepository.findById` y `findByIdAndUserId` añaden `users_profiles` y resuelven:
- nombre: snapshot `orders_orders.customer_name` → perfil.
- teléfono: snapshot → perfil → identity.
- email: identity user.
## UI
Las cuatro tarjetas de información siempre se renderizan. Si el backend no tiene una transacción o dirección de facturación, se comunica «No registrado»/«Misma que envío» en vez de ocultar la sección.
## Datos existentes
El único pedido afectado, creado segundos después del perfil/dirección del cliente, se reasocia al identity user correspondiente. No se crea una migración heurística general.