feat(mobile): consolidation modules epargne, messaging, organisations
- Epargne: badge LCB-FT (bouclier ambre) sur comptes avec fonds bloques + note recap - EpargneDetail: historique pagine (page/size), affichage soldeAvant/soldeApres/motif dans chaque transaction, bouton "Charger plus" - TransactionEpargneRepository: getByCompte accepte page et size, gere reponse paginee Spring (content[]) - MessagingDatasource: markMessageAsRead silencieuse (pas d'endpoint unitaire), getUnreadCount somme unreadCount des conversations - OrganizationDetail: _memberCount charge le vrai nombre depuis GET /membres/count, affiche la valeur reelle au lieu de nombreMembres (toujours 0)
This commit is contained in:
@@ -111,12 +111,23 @@ class TransactionEpargneRepository {
|
||||
throw Exception('Erreur transfert: ${response.statusCode}');
|
||||
}
|
||||
|
||||
/// Historique des transactions d'un compte.
|
||||
Future<List<Map<String, dynamic>>> getByCompte(String compteId) async {
|
||||
final response = await _apiClient.get('$_base/compte/$compteId');
|
||||
/// Historique des transactions d'un compte (paginé).
|
||||
Future<List<Map<String, dynamic>>> getByCompte(
|
||||
String compteId, {
|
||||
int page = 0,
|
||||
int size = 20,
|
||||
}) async {
|
||||
final response = await _apiClient.get(
|
||||
'$_base/compte/$compteId',
|
||||
queryParameters: {'page': page, 'size': size},
|
||||
);
|
||||
if (response.statusCode == 200) {
|
||||
final data = response.data;
|
||||
if (data is List) return List<Map<String, dynamic>>.from(data.map((e) => e as Map<String, dynamic>));
|
||||
if (data is Map && data.containsKey('content')) {
|
||||
final content = data['content'] as List? ?? [];
|
||||
return List<Map<String, dynamic>>.from(content.map((e) => e as Map<String, dynamic>));
|
||||
}
|
||||
return [];
|
||||
}
|
||||
throw Exception('Erreur chargement historique: ${response.statusCode}');
|
||||
|
||||
Reference in New Issue
Block a user