WP Chain Plan — A+3 (Prisma + MEDIA→RIDE)
Locked: Prisma+Postgres · MinIO objects · sequence MEDIA→ADDR→WALLET→FNB→RIDE · gate per WP
Cập nhật 2026-07-27: payment MOCK/MoMo/VNPay · rides GPS WS · chat WS — đã IMP (vượt scope ban đầu của plan này)
Foundation
api/prisma/schema.prisma+ migrations ·PrismaModuleglobal- Models first:
User, then per-WP tables - Migrate
AuthService/UsersServiceto Prisma upsert (JWT{ sub, phone, roles }unchanged) - Places seed stays in-memory (do not break) → đã chuyển Prisma + PostGIS
WP-MEDIA-01 AC
| ID | Criterion |
|---|---|
| AC-MEDIA-01 | POST /upload/single → MinIO + MediaObject READY |
| AC-MEDIA-02 | POST /upload/multiple |
| AC-MEDIA-03 | presign + presign/complete |
| AC-MEDIA-04 | DELETE /file owner-only soft+object delete |
| AC-MEDIA-05 | documents + multipart initiate/complete/abort |
| AC-MEDIA-06 | authz + mime/size validation |
| AC-MEDIA-07 | Swagger real DTOs (no stub) |
| AC-MEDIA-08 | unit/integration + smoke; build/lint PASS |
| AC-MEDIA-09 | matrix + SWAGGER-AUDIT IMP |
Later WPs (summary)
- ADDR: CRUD + default; lat/lng; owner only — IMP
- WALLET: balance + append-only ledger; Idempotency-Key — IMP
- FNB: seed merchants/menu; cart; order — IMP
- RIDE: quote; create; list/detail; cancel; + GPS WS — IMP
- PAY / CHAT WS / HOTEL / RENTAL: xem 05-PHASE-BACKLOG.md
WP-MEDIA-01 — PASS (2026-07-24)
Prisma User + MediaObject · MinIO upload/presign/multipart · tests + smoke OK.
WP-ADDR-01 — PASS (2026-07-24)
Address CRUD + default · owner-only · soft delete · tests + smoke OK.
WP-WALLET-01 — PASS (2026-07-24)
Ledger append-only · Idempotency-Key · topup/withdraw/transfer nội bộ · payment-methods metadata.
WP-FNB-01 — PASS (2026-07-24)
Seed merchants/menu · cart · order create/list/cancel · partner thin.
WP-RIDE-01 — PASS (2026-07-24) · GPS WS (2026-07-25)
Quote Haversine · create → CONFIRMED · list/detail/cancel · Socket.IO /rides GPS (WP-RIDE-WS-01).
WP-PAR-AUTH-01 — PASS (2026-07-24)
Partner onboarding PENDING · admin APPROVED → PARTNER_OWNER · staff/analytics MVP.
Gate commands
cd api && npm run build && npx prisma migrate deploy && npm run lint && npm test