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

894 B

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.