151 lines
3.2 KiB
Dart
151 lines
3.2 KiB
Dart
/// É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<Object?> 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<Object?> 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<Object?> 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<Object?> 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<Object?> get props => [id, evenement];
|
|
}
|
|
|
|
/// Événement pour supprimer un événement
|
|
class DeleteEvenement extends EvenementsEvent {
|
|
final String id;
|
|
|
|
const DeleteEvenement(this.id);
|
|
|
|
@override
|
|
List<Object?> 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<Object?> 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<Object?> 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<Object?> 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<Object?> 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<Object?> get props => [evenementId];
|
|
}
|
|
|
|
/// Événement pour charger les participants
|
|
class LoadParticipants extends EvenementsEvent {
|
|
final String evenementId;
|
|
|
|
const LoadParticipants(this.evenementId);
|
|
|
|
@override
|
|
List<Object?> get props => [evenementId];
|
|
}
|
|
|
|
/// Événement pour charger les statistiques
|
|
class LoadEvenementsStats extends EvenementsEvent {
|
|
const LoadEvenementsStats();
|
|
}
|
|
|