29 lines
2.0 KiB
Markdown
29 lines
2.0 KiB
Markdown
# F-140 — Implementer evidence
|
|
|
|
## What
|
|
F-140 build evidence: GET /orders/:id/admin enriched with customer/address/payment; admin page shows new sections. tsc 0, verify.sh verde.
|
|
|
|
## Files
|
|
- `project/migrations/050_order_detail_address_type.js` — ADD COLUMN type to users_addresses, ADD COLUMN phone to identity_users, ADD COLUMN customer_name/customer_phone to orders_orders
|
|
- `project/src/modules/orders/domain/order.ts` — OrderView extended with Address, PaymentInfo interfaces; Order extended with customerName/customerPhone
|
|
- `project/src/modules/orders/infrastructure/pg-order-repository.ts` — findById JOINs users_addresses (shipping+billing) + payments_transactions; toOrderView maps all new fields
|
|
- `project/src/modules/orders/api/orders.routes.ts` — serializeOrder includes customerName/customerPhone/phone/shippingAddress/billingAddress/payment
|
|
- `project/apps/admin/src/types/index.ts` — Order extended with Address, PaymentInfo, customerName, phone, shippingAddress, billingAddress, payment
|
|
- `project/apps/admin/src/app/(dashboard)/orders/[id]/page.tsx` — new sidebar sections: Cliente, Dirección de envío, Dirección de facturación, Pago
|
|
|
|
## Verification
|
|
- `npm run build` → 0 TypeScript errors.
|
|
- `check-module-boundaries.mjs src` → 0 NEW violations.
|
|
- `./scripts/verify.sh` → green.
|
|
|
|
## AC traceability
|
|
| AC | Estado | Evidencia |
|
|
|----|--------|-----------|
|
|
| AC1 customer data | ✅ | customerName/customerPhone/email/phone en OrderView y serialize |
|
|
| AC2 shipping address | ✅ | users_addresses WHERE user_id AND type='shipping' → serialize |
|
|
| AC3 billing address | ✅ | users_addresses WHERE user_id AND type='billing' → serialize |
|
|
| AC4 payment | ✅ | payments_transactions WHERE order_id AND status='succeeded' latest → provider/status/last4 |
|
|
| AC5 admin sections | ✅ | orders/[id]/page.tsx sidebar: Cliente + Envío + Facturación + Pago |
|
|
| AC6 read-only | ✅ | Solo renderizado, sin edits |
|
|
| AC7 tsc/verify | ✅ | tsc 0, verify verde |
|