/// Use case: Récupérer les statistiques des membres library get_member_stats; import 'package:injectable/injectable.dart'; import '../repositories/membre_repository.dart'; /// Use case pour récupérer les statistiques globales des membres /// Réservé aux utilisateurs avec le rôle ADMIN_ORGANISATION @injectable class GetMemberStats { final IMembreRepository _repository; GetMemberStats(this._repository); /// Exécute le use case /// /// Retourne un Map contenant les statistiques: /// - totalMembres: Nombre total de membres /// - membresActifs: Nombre de membres actifs /// - membresInactifs: Nombre de membres inactifs /// - nouveauxMembres30j: Nouveaux membres sur les 30 derniers jours /// - membresBureau: Nombre de membres du bureau /// - tauxActivite: Taux d'activité en pourcentage /// /// Lève une exception en cas d'erreur d'accès Future> call() async { return _repository.getMembresStats(); } }