31 lines
1006 B
Dart
31 lines
1006 B
Dart
/// Use case: Récupérer la liste des participants d'un événement
|
|
library get_event_participants;
|
|
|
|
import 'package:injectable/injectable.dart';
|
|
import '../repositories/evenement_repository.dart';
|
|
|
|
/// Use case pour récupérer les participants d'un événement
|
|
/// Réservé à l'organisateur de l'événement ou ADMIN_ORGANISATION
|
|
@injectable
|
|
class GetEventParticipants {
|
|
final IEvenementRepository _repository;
|
|
|
|
GetEventParticipants(this._repository);
|
|
|
|
/// Exécute le use case
|
|
///
|
|
/// [evenementId] - UUID de l'événement
|
|
///
|
|
/// Retourne la liste des participants avec leurs informations:
|
|
/// - id: UUID du membre
|
|
/// - nom: Nom complet
|
|
/// - email: Email
|
|
/// - dateInscription: Date d'inscription
|
|
/// - statut: Statut de participation (CONFIRME, EN_ATTENTE, etc.)
|
|
///
|
|
/// Lève une exception si l'événement n'existe pas ou accès refusé
|
|
Future<List<Map<String, dynamic>>> call(String evenementId) async {
|
|
return _repository.getParticipants(evenementId);
|
|
}
|
|
}
|