refactoring
This commit is contained in:
@@ -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