/// Événements pour le BLoC des événements library evenements_event; import 'package:equatable/equatable.dart'; import '../data/models/evenement_model.dart'; /// Classe de base pour tous les événements abstract class EvenementsEvent extends Equatable { const EvenementsEvent(); @override List get props => []; } /// Événement pour charger la liste des événements class LoadEvenements extends EvenementsEvent { final int page; final int size; final String? recherche; final bool refresh; const LoadEvenements({ this.page = 0, this.size = 20, this.recherche, this.refresh = false, }); @override List get props => [page, size, recherche, refresh]; } /// Événement pour charger un événement par ID class LoadEvenementById extends EvenementsEvent { final String id; const LoadEvenementById(this.id); @override List get props => [id]; } /// Événement pour créer un nouvel événement class CreateEvenement extends EvenementsEvent { final EvenementModel evenement; const CreateEvenement(this.evenement); @override List get props => [evenement]; } /// Événement pour mettre à jour un événement class UpdateEvenement extends EvenementsEvent { final String id; final EvenementModel evenement; const UpdateEvenement(this.id, this.evenement); @override List get props => [id, evenement]; } /// Événement pour supprimer un événement class DeleteEvenement extends EvenementsEvent { final String id; const DeleteEvenement(this.id); @override List get props => [id]; } /// Événement pour charger les événements à venir class LoadEvenementsAVenir extends EvenementsEvent { final int page; final int size; const LoadEvenementsAVenir({ this.page = 0, this.size = 20, }); @override List get props => [page, size]; } /// Événement pour charger les événements en cours class LoadEvenementsEnCours extends EvenementsEvent { final int page; final int size; const LoadEvenementsEnCours({ this.page = 0, this.size = 20, }); @override List get props => [page, size]; } /// Événement pour charger les événements passés class LoadEvenementsPasses extends EvenementsEvent { final int page; final int size; const LoadEvenementsPasses({ this.page = 0, this.size = 20, }); @override List get props => [page, size]; } /// Événement pour s'inscrire à un événement class InscrireEvenement extends EvenementsEvent { final String evenementId; const InscrireEvenement(this.evenementId); @override List get props => [evenementId]; } /// Événement pour se désinscrire d'un événement class DesinscrireEvenement extends EvenementsEvent { final String evenementId; const DesinscrireEvenement(this.evenementId); @override List get props => [evenementId]; } /// Événement pour charger les participants class LoadParticipants extends EvenementsEvent { final String evenementId; const LoadParticipants(this.evenementId); @override List get props => [evenementId]; } /// Événement pour charger les statistiques class LoadEvenementsStats extends EvenementsEvent { const LoadEvenementsStats(); }