diff --git a/docs/specs/M1-clients/spec-back.md b/docs/specs/M1-clients/spec-back.md index 96eea8a..5cafdf9 100644 --- a/docs/specs/M1-clients/spec-back.md +++ b/docs/specs/M1-clients/spec-back.md @@ -748,7 +748,7 @@ class Client implements TimestampableInterface, BlamableInterface - **Security** : `is_granted('commercial.clients.view')` - **Query params** : - `includeArchived=true|false` (default `false`) - - `categoryType=` (filtre par type de catégorie via `SearchFilter`) + - `categoryCode=` (filtre les clients ayant ≥ 1 `Category` de ce code stable — ERP-78 ; ex. `DISTRIBUTEUR`, `COURTIER`) - `search=` (recherche fuzzy sur companyName + lastName + email) - **Tri par défaut** : `companyName ASC` - **Pagination** : front via `` (volumétrie cible faible). Pas de pagination serveur au M1. @@ -963,7 +963,7 @@ Cf. § 2.6. Pattern Shared standard. - [ ] **RG-1.01** : POST sans firstName ni lastName → 422 - [ ] **RG-1.02** : POST avec phoneSecondary rempli → persistance OK ; PATCH ajoutant un 3e téléphone → côté API, 2 colonnes uniquement (test que le payload ne peut pas créer un 3e) - [ ] **RG-1.03** : POST avec distributor ET broker → 422 ; POST distributor seul → 201 -- [ ] **RG-1.03** : POST distributor référençant un client SANS catégorie de type DISTRIBUTEUR → 422 (validation custom) +- [ ] **RG-1.03** : POST distributor référençant un client SANS catégorie de code DISTRIBUTEUR → 422 (validation custom `ClientProcessor::hasCategoryCode`) - [ ] **RG-1.04** : PATCH onglet Information par un user Commerciale avec champs incomplets → 422 ; même PATCH par Admin → 200 - [ ] **RG-1.05** : POST contact sans firstName ni lastName → 422 (BDD CHECK lève une exception) - [ ] **RG-1.06/07/08** : POST adresse avec isProspect=true ET isDelivery=true → 422 / CHECK