/// Use case: Récupérer toutes les contributions du membre connecté
library get_contributions;

import 'package:injectable/injectable.dart';
import '../../data/repositories/contribution_repository.dart' show ContributionPageResult;
import '../repositories/contribution_repository.dart';

/// Use case pour récupérer la liste des contributions du membre connecté
@injectable
class GetContributions {
  final IContributionRepository _repository;

  GetContributions(this._repository);

  /// Exécute le use case
  ///
  /// Retourne la liste paginée des cotisations du membre connecté
  /// via l'endpoint GET /api/cotisations/mes-cotisations
  Future<ContributionPageResult> call({int page = 0, int size = 50}) async {
    return _repository.getMesCotisations(page: page, size: size);
  }
}
