/// Use case: Récupérer l'historique des contributions d'un membre library get_contribution_history; import 'package:injectable/injectable.dart'; import '../../data/models/contribution_model.dart'; import '../../data/repositories/contribution_repository.dart' show ContributionPageResult; import '../repositories/contribution_repository.dart'; /// Use case pour récupérer l'historique des paiements de cotisations @injectable class GetContributionHistory { final IContributionRepository _repository; GetContributionHistory(this._repository); /// Exécute le use case /// /// [page] - Numéro de page (pagination) /// [size] - Taille de la page /// [annee] - Filtrer par année (optionnel) /// [statut] - Filtrer par statut (optionnel) /// /// Retourne l'historique paginé des cotisations du membre /// Inclut toutes les cotisations (payées, en attente, en retard) Future call({ int page = 0, int size = 50, int? annee, ContributionStatus? statut, }) async { return _repository.getMesCotisations(page: page, size: size); } }