petitspas/docs/TEMP_FRONT_alignement_AM.md
Julien Martin cdae9b5f7c feat(am): alignement inscription/validation + BDD init
- Lieu naissance obligatoire (DTO), persistance Users + migration SQL
- BDD.sql: colonnes lieu_naissance_*, tables dossier_famille / dossier_famille_enfants
- inscrireAMComplet: places_available = capacite_accueil
- GET dossier AM: user.lieu_naissance_*, consentement_photo
- docs/TEMP_FRONT_alignement_AM.md pour équipe Flutter
- Parité: email accusé AM, RegisterAmResponseDto (numero_dossier)

Made-with: Cursor
2026-04-13 13:14:38 +02:00

2.4 KiB
Raw Blame History

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 na é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 lAPI.

2. Réponse GET /dossiers/:numeroDossier (type am)

Sous dossier.user, lAPI peut inclure :

Clé JSON Description
date_naissance Date (si renseignée à linscription)
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 dinscription :

  • Informations personnelles : date de naissance, ville / pays de naissance, consentement photo (Oui/Non).
  • Informations professionnelles : disponibilité, années dexpérience, spécialité (afficher « » si null).

4. place_disponible à linscription

  • 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.