feat(commercial) : sous-ressources M2 fournisseurs (contacts/adresses/ribs) (ERP-88) #67
Reference in New Issue
Block a user
Delete Branch "feature/ERP-88-sous-ressources-m2"
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?
ERP-88 — Sous-ressources M2 (contacts / adresses / ribs)
Étape 4/7 du pipeline M2. Dépend de #86 (entités) et #87 (Provider/Processor). Bloque #92.
Contenu
Opérations API Platform + Processors d'écriture des sous-collections du fournisseur (POST/PATCH/DELETE + GET unitaire).
SupplierContactProcessor
firstName).SupplierAddressProcessor
^[0-9]{4,5}$), RG-2.06 (≥1 site), RG-2.09 (type d'adresse) portées par les contraintes d'entité (ERP-86).Assert\Callback validateCategoryType(propertyPath=categories).SupplierRibProcessor
paymentType.code = LCR→ 409.Security différenciée
commercial.suppliers.managecommercial.suppliers.viewcommercial.suppliers.accounting.managecommercial.suppliers.accounting.viewPOST en
read:false(parent rattaché manuellement) — parade NonUniqueResult héritée du M1. Messages FR (ERP-107) +violations[].propertyPathaligné (ERP-101).Vérifications
make php-cs-fixer-allow-risky: 0 fichier à corrigermake test: 483 tests OKdebug:router: 12 routes générées (4 par sous-ressource)Hors périmètre (tickets suivants)
commercial.suppliers.*dansCommercialModule(#7) — sans elle, l'accès reste 403.Notes de review (non bloquantes, alignées M1)
positiondes sous-collections non exposé à l'API (décision ERP-86, géré serveur).SupplierAddress.contactsnon vérifié same-supplier — comportement identique au M1 (ClientAddress), à traiter globalement si besoin.3548224298to7dccc4edf4