# TEMP — Alignement front / API (inscription AM & validation gestionnaire) > **Fichier temporaire** : à supprimer ou renommer une fois le front livré. Ce document décrit les changements **côté API** et ce que **Flutter** doit faire pour rester aligné. Aucune modification front n’a été faite dans le chantier backend associé. ## 1. `POST /auth/register/am` — lieu de naissance obligatoire - **`lieu_naissance_ville`** et **`lieu_naissance_pays`** sont **obligatoires** (non vides après trim, min. **2 caractères** chacun, max 100). - Réponses **400** si manquants ou invalides (messages class-validator). - **Action front** : champs obligatoires dans le parcours AM (étapes identité / naissance), validation UI avant envoi ; afficher les erreurs renvoyées par l’API. ## 2. Réponse `GET /dossiers/:numeroDossier` (type `am`) Sous `dossier.user`, l’API peut inclure : | Clé JSON | Description | |----------|-------------| | `date_naissance` | Date (si renseignée à l’inscription) | | `lieu_naissance_ville` | Ville de naissance | | `lieu_naissance_pays` | Pays de naissance | | `consentement_photo` | Booléen (exposé dans `dossier.user`) | À la **racine** de `dossier` (objet AM), champs déjà renvoyés par le backend : `disponible`, `annees_experience`, `specialite`, `nb_max_enfants`, `place_disponible`, etc. **Action front** : - Étendre **`AppUser.fromJson` / `toJson`** (`lib/models/user.dart`) pour mapper `date_naissance`, `lieu_naissance_ville`, `lieu_naissance_pays`, `consentement_photo`. - Étendre **`DossierAM.fromJson`** (`lib/models/dossier_unifie.dart`) pour parser `disponible`, `annees_experience`, `specialite` à la racine du dossier (noms snake_case comme dans la réponse JSON Nest). ## 3. `ValidationAmWizard` (admin) Afficher pour cohérence avec le formulaire d’inscription : - **Informations personnelles** : date de naissance, ville / pays de naissance, consentement photo (Oui/Non). - **Informations professionnelles** : disponibilité, années d’expérience, spécialité (afficher « – » si `null`). ## 4. `place_disponible` à l’inscription - Le backend initialise **`place_disponible`** sur la fiche AM à la **même valeur** que **`capacite_accueil`** à la création. Le wizard peut donc afficher une valeur cohérente avec la capacité sans champ séparé côté public. --- *Dernière mise à jour : alignement backend branche `feature/120-inscription-am-photo-backend`.*