feat(POS-008): completed feature

This commit is contained in:
chattie
2026-08-22 13:42:08 +02:00
parent 25e4e5b622
commit 63eaa3e58f
12 changed files with 356 additions and 10 deletions

View File

@@ -0,0 +1,22 @@
# POS-008 — Implementer evidence
## What
POST /pos/sales idempotent sale endpoint. tsc 0, verify verde.
## Files
- `src/modules/pos/domain/pos-sale.ts` — PosSaleInput, PosSaleResult, PosPaymentInput, PosPaymentResult types
- `src/modules/pos/application/create-pos-sale.ts` — CreatePosSaleUseCase with transaction (BEGIN/COMMIT/ROLLBACK), idempotency check, cash session lock
- `src/modules/pos/api/pos.routes.ts` — POST /pos/sales route with schema validation
## Verification
- `npm run build` → 0 TypeScript errors.
- `./scripts/verify.sh` → green.
## AC traceability
| AC | Estado |
|----|--------|
| AC1 idempotent | ✅ idempotencyKey check returns existing |
| AC2 atomic | ✅ BEGIN/COMMIT/ROLLBACK transaction |
| AC3 items + payments | ✅ INSERT + total validation |
| AC4 cash session update | ✅ UPDATE expected_cash_cents |
| AC5 tsc/verify | ✅ |