feat(#47): Ajout de la modale de changement de mot de passe obligatoire

Implémentation complète du ticket #47 :
- Mise à jour de l'URL API vers app.ptits-pas.fr
- Ajout du champ changement_mdp_obligatoire au modèle AppUser
- Ajout des endpoints /auth/me et /auth/change-password-required
- Implémentation de la vraie logique de connexion dans AuthService
- Création de la modale ChangePasswordDialog non-dismissible
- Connexion du bouton de connexion avec gestion de la modale
- Ajout des routes admin-dashboard et parent-dashboard

La modale s'affiche automatiquement après connexion si
changement_mdp_obligatoire = true et bloque l'utilisateur jusqu'au
changement de mot de passe.
This commit is contained in:
2026-01-27 16:30:15 +01:00
parent b3ec1b94ea
commit fe71fdf28e
7 changed files with 564 additions and 40 deletions
+4
View File
@@ -4,6 +4,7 @@ class AppUser {
final String role;
final DateTime createdAt;
final DateTime updatedAt;
final bool changementMdpObligatoire;
AppUser({
required this.id,
@@ -11,6 +12,7 @@ class AppUser {
required this.role,
required this.createdAt,
required this.updatedAt,
this.changementMdpObligatoire = false,
});
factory AppUser.fromJson(Map<String, dynamic> json) {
@@ -20,6 +22,7 @@ class AppUser {
role: json['role'] as String,
createdAt: DateTime.parse(json['createdAt'] as String),
updatedAt: DateTime.parse(json['updatedAt'] as String),
changementMdpObligatoire: json['changement_mdp_obligatoire'] as bool? ?? false,
);
}
@@ -30,6 +33,7 @@ class AppUser {
'role': role,
'createdAt': createdAt.toIso8601String(),
'updatedAt': updatedAt.toIso8601String(),
'changement_mdp_obligatoire': changementMdpObligatoire,
};
}
}