feat(api): P4 chunk 1b - encaissement + decrement stock #57
No reviewers
Labels
No labels
auto-merge
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: AcadeNice/corentin_wakdo#57
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/p4-order-pay"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
OrderController (POST /api/orders + /api/orders/{number}/pay) cable sur OrderRepository::pay : transition gardee pending_payment -> paid et decrement de stock atomique (RG-5 etapes 5-6, RG-T11/RG-T20) dans une transaction. Idempotent (deja paid -> renvoi sans re-decrement ; course concurrente perdue -> sortie idempotente) ; statut terminal -> 409. Decrement agrege par ingredient (un UPDATE auto-verrouillant + une ligne stock_movement(sale) par ingredient, ordre de verrou stable par id) ; modificateurs appliques (remove => 0, add => portion supplementaire) ; menu = recette du burger + recettes des selections, au format de la ligne. Inerte tant que les recettes (product_ingredient) ne sont pas seedees. Routes /api/orders anonymes (kiosk, pas de session). Double de test dedie extrait en tests/Support/FakeOrderDatabase. PHPUnit 290 + PHPStan L6 verts.