fix: une clé d'idempotence de plus de 36 caractères est refusée en 422 au lieu d'un 500 #186
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!186
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/order-idempotency-key-max"
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?
Pourquoi
En capturant les vraies reponses de chaque route pour la page Sante, une commande de la borne a repondu 500 : sa
idempotency_keyfaisait 39 caracteres, la colonnecustomer_order.idempotency_keyest unVARCHAR(36)(migration 0001), et rien ne controlait la longueur avant l'insertion. Une entree invalide doit rendre un 422 lisible, pas une erreur serveur.Ce qui change
OrderRepository: la cle est nettoyee et controlee a un seul endroit (idempotencyKey()), avant la recherche de commande existante et avant toute ecriture. Au-dela de 36 caracteres :INVALID_IDEMPOTENCY_KEY. La creation au comptoir et au drive passe par le meme controle.OrderController: message « Clé d'idempotence invalide (36 caractères au plus). », statut 422 (regle par defaut des erreurs de validation).docs/api/conventions.md: le code est documente a cote d'ORDER_CANCELLED.La borne n'est pas touchee : elle envoie un UUID (
crypto.randomUUID), 36 caracteres.Verification