feat(ADM-018): completed feature
This commit is contained in:
32
work/artifacts/F-021/documenter.md
Normal file
32
work/artifacts/F-021/documenter.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Documenter — F-021 Orders module
|
||||
|
||||
## Summary
|
||||
Orders module records purchase truth with immutable item snapshots, an explicit state machine, and ownership-scoped reads. OrderCreated is emitted on every creation; OrderPaid and OrderCancelled are emitted on those transitions.
|
||||
|
||||
## Public API notes
|
||||
|
||||
| Route | Access | Result |
|
||||
|---|---|---|
|
||||
| POST /orders | authenticated | Creates order with snapshots, returns PENDING |
|
||||
| POST /orders/:id/transitions | authenticated | Validates and applies state transition |
|
||||
| GET /orders/:id | authenticated | Returns order with items, scoped to user |
|
||||
|
||||
## Errors
|
||||
- `ORDER_STATE_TRANSITION_INVALID` — HTTP 409
|
||||
- `ORDER_NOT_FOUND` — HTTP 404
|
||||
|
||||
## State machine
|
||||
PENDING -> AWAITING_PAYMENT or CANCELLED
|
||||
AWAITING_PAYMENT -> PAID or CANCELLED
|
||||
PAID -> PROCESSING, SHIPPED, CANCELLED, REFUNDED
|
||||
PROCESSING -> SHIPPED, CANCELLED, REFUNDED
|
||||
SHIPPED -> DELIVERED, PARTIALLY_REFUNDED
|
||||
DELIVERED -> PARTIALLY_REFUNDED
|
||||
CANCELLED, REFUNDED, PARTIALLY_REFUNDED are terminal.
|
||||
|
||||
## Evidence
|
||||
- `work/artifacts/F-021/architect.md`
|
||||
- `work/artifacts/F-021/implementer.md`
|
||||
- `work/artifacts/F-021/reviewer.json`
|
||||
- `work/artifacts/F-021/security.json`
|
||||
- `work/artifacts/F-021/qa.json`
|
||||
Reference in New Issue
Block a user