b99745e0fe
feat( #112 ): reprise après refus — dossier complet, email resoumission
...
- GET/PATCH reprise-dossier enrichis (parents, enfants, motivation, fiche AM)
- Front: lien mail, modale identify login, wizards préremplis, PATCH complet
- Email accusé resoumission aux parents avec n° de dossier
- Fixes préremplissage AM (dates, places, ValueKey étape 2)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 19:19:55 +02:00
15123f691c
feat(auth): #127 forgot-password + reset-password API (BDD + mail)
...
Made-with: Cursor
2026-04-23 18:17:39 +02:00
81ac8860f1
feat(auth): durcir la création du mot de passe via token
...
Squash de develop vers master pour intégrer verify-token/create-password avec TTL strict, usage unique atomique et invalidation explicite du token.
Made-with: Cursor
2026-04-16 11:33:49 +02:00
b4b44cb1b9
feat(inscription-am): places disponibles, UI étape 2, plafond capacité 4 côté app
...
- POST /auth/register/am : places_disponibles, enregistrement place_disponible, contrôle ≤ capacité
- Formulaire pro AM : places sur la ligne capacité, mobile un champ par ligne, carte desktop plus compacte (espacements, polices, labelFieldSpacing)
- Capacité et places validées jusqu’à 4 dans l’app (kAmCapaciteAccueilMax) ; hint NIR « 13 chiffres + clé »
- Scripts d’inscription AM (Node + smoke shell) : places_disponibles
Made-with: Cursor
2026-04-13 13:20:26 +02:00
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
d69768806c
fix(auth): inscription AM — persister photo si photo_base64 sans photo_filename ( #120 )
...
- Défaut nom fichier photo_am.jpg ; extension finale dérivée du data-URL
- Swagger DTO + description endpoint register/am
Made-with: Cursor
2026-04-12 21:37:47 +02:00
86b28abe51
feat( #111 ): Reprise après refus – backend
...
- GET /auth/reprise-dossier?token= : dossier pour préremplir (token seul)
- PATCH /auth/reprise-resoumettre : token + champs modifiables → en_attente, token invalidé
- POST /auth/reprise-identify : numero_dossier + email → type + token
- UserService: findByTokenReprise, resoumettreReprise, findByNumeroDossierAndEmailForReprise
Made-with: Cursor
2026-03-12 23:04:45 +01:00
85bfef7a6b
feat( #102 ): DTO NIR - accepter 2A/2B Corse (15 caractères)
...
Made-with: Cursor
2026-02-26 11:21:45 +01:00
c94f2cf0d5
feat( #90 ): API Inscription AM - POST /auth/register/am
...
- DTO RegisterAMCompletDto (identité, photo, infos pro, CGU)
- Endpoint POST /auth/register/am + inscrireAMComplet() (transaction User + AssistanteMaternelle)
- Photo base64, token création MDP, consentement photo
- Suppression legacy: route register/parent/legacy, registerParent(), RegisterParentDto
- Frontend: ApiConfig.registerAM pour ticket #91
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 00:05:23 +01:00
95d1c3741b
feat( #31 ): API Changement MDP obligatoire première connexion ( #77 )
...
Co-authored-by: Julien Martin <julien.martin@ptits-pas.fr>
Co-committed-by: Julien Martin <julien.martin@ptits-pas.fr>
2026-01-27 15:13:45 +00:00
c5028c3b22
feat( #75 ): Seed Super Administrateur par défaut ( #76 )
...
Co-authored-by: Julien Martin <julien.martin@ptits-pas.fr>
Co-committed-by: Julien Martin <julien.martin@ptits-pas.fr>
2026-01-27 15:07:22 +00:00
9ae6533b4d
feat( #36 ): Inscription Parent - Étape 1 (Parent 1)
...
Backend:
- Retrait des champs non-CDC: profession, situation_familiale, date_naissance
- Nettoyage des DTOs RegisterParentCompletDto et RegisterParentDto
- Mise à jour de la logique dans auth.service.ts (inscrireParentComplet et legacy)
Frontend Step1:
- Suppression des champs mot de passe et confirmation
- Correction de l'indicateur d'étape: 1/5 → 1/6
- Améliorations visuelles:
* Taille des labels: 18 → 22px
* Taille de police des champs: 18 → 20px
* Espacement entre champs: 20 → 32px
* Meilleure répartition verticale avec spaceEvenly
Note: Le champ password est conservé dans le modèle ParentData pour compatibilité avec Step2
2025-12-01 23:19:58 +01:00
579b6cae90
[Backend] API Inscription Parent - REFONTE Workflow 6 etapes ( #72 )
...
Co-authored-by: Julien Martin <julien.martin@ptits-pas.fr>
Co-committed-by: Julien Martin <julien.martin@ptits-pas.fr>
2025-12-01 21:43:36 +00:00
40c7f40d12
feat(backend): endpoint inscription parent + nettoyage code #9
...
🧹 NETTOYAGE CODE ÉTUDIANT:
- Suppression console.log/error (4 occurrences)
- Suppression code commenté inutile
- Suppression champs obsolètes (mobile, telephone_fixe)
- Correction password nullable dans Users entity
✨ NOUVELLES FONCTIONNALITÉS:
- Ajout champs token_creation_mdp dans Users entity
- Création RegisterParentDto (validation complète)
- Endpoint POST /auth/register/parent
- Méthode registerParent() avec transaction
- Gestion Parent 1 + Parent 2 (co-parent optionnel)
- Génération tokens UUID pour création MDP
- Lecture durée token depuis AppConfigService
- Création automatique entités Parents
- Statut EN_ATTENTE par défaut
- Intégration AppConfigModule dans AuthModule
- Amélioration méthode login() (vérif statut + password null)
📋 WORKFLOW CDC CONFORME:
- Inscription SANS mot de passe
- Token envoyé par email (TODO)
- Validation gestionnaire requise
- Support co-parent avec même adresse
Réf: docs/20_WORKFLOW-CREATION-COMPTE.md
Ticket: #9 (ou #16 )
2025-11-30 16:09:54 +01:00
33d6e7b0c3
feat: Intégration du backend NestJS depuis YNOV
...
- Framework: NestJS avec TypeORM
- Authentification: JWT (access + refresh tokens)
- Gestion utilisateurs: CRUD complet avec validation
- Routes: auth, users, parents, assistantes maternelles
- Dockerfile pour conteneurisation
2025-11-24 15:44:07 +01:00