25 lines
769 B
Dart
25 lines
769 B
Dart
/// Use case: Créer une nouvelle contribution
|
|
library create_contribution;
|
|
|
|
import 'package:injectable/injectable.dart';
|
|
import '../../data/models/contribution_model.dart';
|
|
import '../repositories/contribution_repository.dart';
|
|
|
|
/// Use case pour créer une nouvelle cotisation
|
|
@injectable
|
|
class CreateContribution {
|
|
final IContributionRepository _repository;
|
|
|
|
CreateContribution(this._repository);
|
|
|
|
/// Exécute le use case
|
|
///
|
|
/// [contribution] - Modèle de la cotisation à créer
|
|
///
|
|
/// Retourne la contribution créée avec son ID généré
|
|
/// Lève une exception en cas d'erreur de validation ou de création
|
|
Future<ContributionModel> call(ContributionModel contribution) async {
|
|
return _repository.createCotisation(contribution);
|
|
}
|
|
}
|