fix(mobile): URL changement mdp corrigée + v3.0 — multi-org, AppAuth, sécurité prod

Auth:
- profile_repository.dart: /api/auth/change-password → /api/membres/auth/change-password

Multi-org (Phase 3):
- OrgSelectorPage, OrgSwitcherBloc, OrgSwitcherEntry
- org_context_service.dart: headers X-Active-Organisation-Id + X-Active-Role

Navigation:
- MorePage: navigation conditionnelle par typeOrganisation
- Suppression adaptive_navigation (remplacé par main_navigation_layout)

Auth AppAuth:
- keycloak_webview_auth_service: fixes AppAuth Android
- AuthBloc: gestion REAUTH_REQUIS + premierLoginComplet

Onboarding:
- Nouveaux états: payment_method_page, onboarding_shared_widgets
- SouscriptionStatusModel mis à jour StatutValidationSouscription

Android:
- build.gradle: ProGuard/R8, network_security_config
- Gradle wrapper mis à jour
This commit is contained in:
dahoud
2026-04-07 20:56:03 +00:00
parent 22f9c7e9a1
commit 70cbd1c873
63 changed files with 9316 additions and 6122 deletions

View File

@@ -25,7 +25,7 @@ enum StatutMembre {
inactif,
@JsonValue('SUSPENDU')
suspendu,
@JsonValue('EN_ATTENTE')
@JsonValue('EN_ATTENTE_VALIDATION')
enAttente,
}
@@ -67,6 +67,10 @@ class MembreCompletModel extends Equatable {
/// Téléphone
final String? telephone;
/// Téléphone Wave (mobile money)
@JsonKey(name: 'telephoneWave')
final String? telephoneWave;
/// Date de naissance
@JsonKey(name: 'dateNaissance')
final DateTime? dateNaissance;
@@ -100,6 +104,7 @@ class MembreCompletModel extends Equatable {
final String? photo;
/// Statut du membre
@JsonKey(name: 'statutCompte')
final StatutMembre statut;
/// Rôle dans l'organisation
@@ -148,6 +153,18 @@ class MembreCompletModel extends Equatable {
@JsonKey(name: 'derniereActivite')
final DateTime? derniereActivite;
/// Statut matrimonial (CELIBATAIRE, MARIE, DIVORCE, VEUF)
@JsonKey(name: 'statutMatrimonial')
final String? statutMatrimonial;
/// Type de pièce d'identité (CNI, PASSEPORT, PERMIS_CONDUIRE, TITRE_SEJOUR)
@JsonKey(name: 'typeIdentite')
final String? typeIdentite;
/// Numéro de pièce d'identité
@JsonKey(name: 'numeroIdentite')
final String? numeroIdentite;
/// Notes internes
final String? notes;
@@ -184,6 +201,7 @@ class MembreCompletModel extends Equatable {
required this.prenom,
required this.email,
this.telephone,
this.telephoneWave,
this.dateNaissance,
this.genre,
this.adresse,
@@ -207,6 +225,9 @@ class MembreCompletModel extends Equatable {
this.cotisationAJour = false,
this.nombreEvenementsParticipes = 0,
this.derniereActivite,
this.statutMatrimonial,
this.typeIdentite,
this.numeroIdentite,
this.notes,
this.dateCreation,
this.dateModification,
@@ -231,6 +252,7 @@ class MembreCompletModel extends Equatable {
String? prenom,
String? email,
String? telephone,
String? telephoneWave,
DateTime? dateNaissance,
Genre? genre,
String? adresse,
@@ -254,6 +276,9 @@ class MembreCompletModel extends Equatable {
bool? cotisationAJour,
int? nombreEvenementsParticipes,
DateTime? derniereActivite,
String? statutMatrimonial,
String? typeIdentite,
String? numeroIdentite,
String? notes,
DateTime? dateCreation,
DateTime? dateModification,
@@ -269,6 +294,7 @@ class MembreCompletModel extends Equatable {
prenom: prenom ?? this.prenom,
email: email ?? this.email,
telephone: telephone ?? this.telephone,
telephoneWave: telephoneWave ?? this.telephoneWave,
dateNaissance: dateNaissance ?? this.dateNaissance,
genre: genre ?? this.genre,
adresse: adresse ?? this.adresse,
@@ -292,6 +318,9 @@ class MembreCompletModel extends Equatable {
cotisationAJour: cotisationAJour ?? this.cotisationAJour,
nombreEvenementsParticipes: nombreEvenementsParticipes ?? this.nombreEvenementsParticipes,
derniereActivite: derniereActivite ?? this.derniereActivite,
statutMatrimonial: statutMatrimonial ?? this.statutMatrimonial,
typeIdentite: typeIdentite ?? this.typeIdentite,
numeroIdentite: numeroIdentite ?? this.numeroIdentite,
notes: notes ?? this.notes,
dateCreation: dateCreation ?? this.dateCreation,
dateModification: dateModification ?? this.dateModification,
@@ -341,6 +370,7 @@ class MembreCompletModel extends Equatable {
prenom,
email,
telephone,
telephoneWave,
dateNaissance,
genre,
adresse,
@@ -364,6 +394,9 @@ class MembreCompletModel extends Equatable {
cotisationAJour,
nombreEvenementsParticipes,
derniereActivite,
statutMatrimonial,
typeIdentite,
numeroIdentite,
notes,
dateCreation,
dateModification,