23 lines
879 B
Markdown
23 lines
879 B
Markdown
# 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 | ✅ |
|