refactoring
This commit is contained in:
@@ -174,6 +174,10 @@ class MembreCompletModel extends Equatable {
|
||||
@JsonKey(name: 'dateVerificationIdentite')
|
||||
final DateTime? dateVerificationIdentite;
|
||||
|
||||
/// Mot de passe temporaire (retourné une seule fois à la création, null sinon)
|
||||
@JsonKey(name: 'motDePasseTemporaire')
|
||||
final String? motDePasseTemporaire;
|
||||
|
||||
const MembreCompletModel({
|
||||
this.id,
|
||||
required this.nom,
|
||||
@@ -210,6 +214,7 @@ class MembreCompletModel extends Equatable {
|
||||
this.niveauVigilanceKyc,
|
||||
this.statutKyc,
|
||||
this.dateVerificationIdentite,
|
||||
this.motDePasseTemporaire,
|
||||
});
|
||||
|
||||
/// Création depuis JSON
|
||||
@@ -256,6 +261,7 @@ class MembreCompletModel extends Equatable {
|
||||
NiveauVigilanceKyc? niveauVigilanceKyc,
|
||||
StatutKyc? statutKyc,
|
||||
DateTime? dateVerificationIdentite,
|
||||
String? motDePasseTemporaire,
|
||||
}) {
|
||||
return MembreCompletModel(
|
||||
id: id ?? this.id,
|
||||
@@ -293,6 +299,7 @@ class MembreCompletModel extends Equatable {
|
||||
niveauVigilanceKyc: niveauVigilanceKyc ?? this.niveauVigilanceKyc,
|
||||
statutKyc: statutKyc ?? this.statutKyc,
|
||||
dateVerificationIdentite: dateVerificationIdentite ?? this.dateVerificationIdentite,
|
||||
motDePasseTemporaire: motDePasseTemporaire ?? this.motDePasseTemporaire,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -60,6 +60,7 @@ MembreCompletModel _$MembreCompletModelFromJson(Map<String, dynamic> json) =>
|
||||
dateVerificationIdentite: json['dateVerificationIdentite'] == null
|
||||
? null
|
||||
: DateTime.parse(json['dateVerificationIdentite'] as String),
|
||||
motDePasseTemporaire: json['motDePasseTemporaire'] as String?,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$MembreCompletModelToJson(MembreCompletModel instance) =>
|
||||
@@ -101,6 +102,7 @@ Map<String, dynamic> _$MembreCompletModelToJson(MembreCompletModel instance) =>
|
||||
'statutKyc': _$StatutKycEnumMap[instance.statutKyc],
|
||||
'dateVerificationIdentite':
|
||||
instance.dateVerificationIdentite?.toIso8601String(),
|
||||
'motDePasseTemporaire': instance.motDePasseTemporaire,
|
||||
};
|
||||
|
||||
const _$GenreEnumMap = {
|
||||
|
||||
@@ -49,10 +49,10 @@ class MembreRepositoryImpl implements IMembreRepository {
|
||||
);
|
||||
|
||||
return _parseMembreSearchResult(response, page, size, const MembreSearchCriteria());
|
||||
} on DioException catch (e) {
|
||||
throw Exception('Erreur réseau lors de la récupération des membres: ${e.message}');
|
||||
} on DioException {
|
||||
rethrow;
|
||||
} catch (e) {
|
||||
throw Exception('Erreur inattendue lors de la récupération des membres: $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,12 +64,29 @@ class MembreRepositoryImpl implements IMembreRepository {
|
||||
if (map.containsKey('organisationId') && map['organisationId'] != null && map['organisationId'] is! String) {
|
||||
map['organisationId'] = map['organisationId'].toString();
|
||||
}
|
||||
// Mapping statutCompte → statut avec normalisation des valeurs backend
|
||||
if (map.containsKey('statutCompte') && !map.containsKey('statut')) {
|
||||
map['statut'] = map['statutCompte'];
|
||||
final sc = (map['statutCompte'] as String? ?? '').toUpperCase();
|
||||
if (sc == 'ACTIF') {
|
||||
map['statut'] = 'ACTIF';
|
||||
} else if (sc == 'INACTIF') {
|
||||
map['statut'] = 'INACTIF';
|
||||
} else if (sc == 'SUSPENDU') {
|
||||
map['statut'] = 'SUSPENDU';
|
||||
} else {
|
||||
map['statut'] = 'EN_ATTENTE';
|
||||
}
|
||||
}
|
||||
if (map.containsKey('photoUrl') && !map.containsKey('photo')) {
|
||||
map['photo'] = map['photoUrl'];
|
||||
}
|
||||
// roles (List) → role (premier rôle)
|
||||
if (map.containsKey('roles') && !map.containsKey('role')) {
|
||||
final roles = map['roles'];
|
||||
if (roles is List && roles.isNotEmpty) {
|
||||
map['role'] = roles.first?.toString();
|
||||
}
|
||||
}
|
||||
if (map['id'] != null && map['id'] is! String) {
|
||||
map['id'] = map['id'].toString();
|
||||
}
|
||||
@@ -155,12 +172,13 @@ class MembreRepositoryImpl implements IMembreRepository {
|
||||
throw Exception('Erreur lors de la récupération du membre: ${response.statusCode}');
|
||||
}
|
||||
} on DioException catch (e) {
|
||||
if (e.type == DioExceptionType.cancel) rethrow;
|
||||
if (e.response?.statusCode == 404) {
|
||||
return null;
|
||||
}
|
||||
throw Exception('Erreur réseau lors de la récupération du membre: ${e.message}');
|
||||
rethrow;
|
||||
} catch (e) {
|
||||
throw Exception('Erreur inattendue lors de la récupération du membre: $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,10 +195,10 @@ class MembreRepositoryImpl implements IMembreRepository {
|
||||
} else {
|
||||
throw Exception('Erreur lors de la création du membre: ${response.statusCode}');
|
||||
}
|
||||
} on DioException catch (e) {
|
||||
throw Exception('Erreur réseau lors de la création du membre: ${e.message}');
|
||||
} on DioException {
|
||||
rethrow;
|
||||
} catch (e) {
|
||||
throw Exception('Erreur inattendue lors de la création du membre: $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -197,10 +215,10 @@ class MembreRepositoryImpl implements IMembreRepository {
|
||||
} else {
|
||||
throw Exception('Erreur lors de la mise à jour du membre: ${response.statusCode}');
|
||||
}
|
||||
} on DioException catch (e) {
|
||||
throw Exception('Erreur réseau lors de la mise à jour du membre: ${e.message}');
|
||||
} on DioException {
|
||||
rethrow;
|
||||
} catch (e) {
|
||||
throw Exception('Erreur inattendue lors de la mise à jour du membre: $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,10 +230,10 @@ class MembreRepositoryImpl implements IMembreRepository {
|
||||
if (response.statusCode != 204 && response.statusCode != 200) {
|
||||
throw Exception('Erreur lors de la suppression du membre: ${response.statusCode}');
|
||||
}
|
||||
} on DioException catch (e) {
|
||||
throw Exception('Erreur réseau lors de la suppression du membre: ${e.message}');
|
||||
} on DioException {
|
||||
rethrow;
|
||||
} catch (e) {
|
||||
throw Exception('Erreur inattendue lors de la suppression du membre: $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,10 +247,10 @@ class MembreRepositoryImpl implements IMembreRepository {
|
||||
} else {
|
||||
throw Exception('Erreur lors de l\'activation du membre: ${response.statusCode}');
|
||||
}
|
||||
} on DioException catch (e) {
|
||||
throw Exception('Erreur réseau lors de l\'activation du membre: ${e.message}');
|
||||
} on DioException {
|
||||
rethrow;
|
||||
} catch (e) {
|
||||
throw Exception('Erreur inattendue lors de l\'activation du membre: $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -246,10 +264,10 @@ class MembreRepositoryImpl implements IMembreRepository {
|
||||
} else {
|
||||
throw Exception('Erreur lors de la désactivation du membre: ${response.statusCode}');
|
||||
}
|
||||
} on DioException catch (e) {
|
||||
throw Exception('Erreur réseau lors de la désactivation du membre: ${e.message}');
|
||||
} on DioException {
|
||||
rethrow;
|
||||
} catch (e) {
|
||||
throw Exception('Erreur inattendue lors de la désactivation du membre: $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -272,10 +290,10 @@ class MembreRepositoryImpl implements IMembreRepository {
|
||||
);
|
||||
|
||||
return _parseMembreSearchResult(response, page, size, criteria);
|
||||
} on DioException catch (e) {
|
||||
throw Exception('Erreur réseau lors de la recherche de membres: ${e.message}');
|
||||
} on DioException {
|
||||
rethrow;
|
||||
} catch (e) {
|
||||
throw Exception('Erreur inattendue lors de la recherche de membres: $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -315,10 +333,10 @@ class MembreRepositoryImpl implements IMembreRepository {
|
||||
} else {
|
||||
throw Exception('Erreur lors de la récupération des statistiques: ${response.statusCode}');
|
||||
}
|
||||
} on DioException catch (e) {
|
||||
throw Exception('Erreur réseau lors de la récupération des statistiques: ${e.message}');
|
||||
} on DioException {
|
||||
rethrow;
|
||||
} catch (e) {
|
||||
throw Exception('Erreur inattendue lors de la récupération des statistiques: $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user