Initial commit: unionflow-mobile-apps
Application Flutter complète (sans build artifacts). Signed-off-by: lions dev Team
This commit is contained in:
29
lib/features/members/domain/usecases/get_member_stats.dart
Normal file
29
lib/features/members/domain/usecases/get_member_stats.dart
Normal file
@@ -0,0 +1,29 @@
|
||||
/// 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<Map<String, dynamic>> call() async {
|
||||
return _repository.getMembresStats();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user