Initial commit: unionflow-mobile-apps
Application Flutter complète (sans build artifacts). Signed-off-by: lions dev Team
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
/// Interface du repository des contributions (Clean Architecture)
|
||||
library contribution_repository_interface;
|
||||
|
||||
import '../../data/models/contribution_model.dart';
|
||||
import '../../data/repositories/contribution_repository.dart' show ContributionPageResult, WavePaiementInitResult;
|
||||
|
||||
/// Interface définissant le contrat du repository des contributions
|
||||
/// Implémentée par ContributionRepositoryImpl dans la couche data
|
||||
abstract class IContributionRepository {
|
||||
/// Récupère toutes les cotisations du membre connecté
|
||||
Future<ContributionPageResult> getMesCotisations({int page = 0, int size = 50});
|
||||
|
||||
/// Récupère une cotisation par ID
|
||||
Future<ContributionModel> getCotisationById(String id);
|
||||
|
||||
/// Crée une nouvelle cotisation
|
||||
Future<ContributionModel> createCotisation(ContributionModel contribution);
|
||||
|
||||
/// Met à jour une cotisation existante
|
||||
Future<ContributionModel> updateCotisation(String id, ContributionModel contribution);
|
||||
|
||||
/// Supprime une cotisation
|
||||
Future<void> deleteCotisation(String id);
|
||||
|
||||
/// Enregistre un paiement pour une cotisation
|
||||
Future<ContributionModel> enregistrerPaiement(
|
||||
String cotisationId, {
|
||||
required double montant,
|
||||
required DateTime datePaiement,
|
||||
required String methodePaiement,
|
||||
String? numeroPaiement,
|
||||
String? referencePaiement,
|
||||
});
|
||||
|
||||
/// Initie un paiement en ligne (Wave)
|
||||
Future<WavePaiementInitResult> initierPaiementEnLigne({
|
||||
required String cotisationId,
|
||||
required String methodePaiement,
|
||||
required String numeroTelephone,
|
||||
});
|
||||
|
||||
/// Récupère la synthèse des cotisations du membre
|
||||
Future<Map<String, dynamic>?> getMesCotisationsSynthese();
|
||||
|
||||
/// Récupère les statistiques globales
|
||||
Future<Map<String, dynamic>> getStatistiques();
|
||||
|
||||
/// Récupère les cotisations en attente
|
||||
Future<ContributionPageResult> getMesCotisationsEnAttente();
|
||||
|
||||
/// Récupère les cotisations avec filtres (admin)
|
||||
Future<ContributionPageResult> getCotisations({
|
||||
int page = 0,
|
||||
int size = 20,
|
||||
String? membreId,
|
||||
String? statut,
|
||||
String? type,
|
||||
int? annee,
|
||||
});
|
||||
|
||||
/// Envoie un rappel de paiement
|
||||
Future<void> envoyerRappel(String cotisationId);
|
||||
|
||||
/// Génère les cotisations annuelles pour tous les membres
|
||||
Future<int> genererCotisationsAnnuelles(int annee);
|
||||
}
|
||||
Reference in New Issue
Block a user