Clean project: remove test files, debug logs, and add documentation
This commit is contained in:
@@ -0,0 +1,194 @@
|
||||
/// États pour le BLoC des événements
|
||||
library evenements_state;
|
||||
|
||||
import 'package:equatable/equatable.dart';
|
||||
import '../data/models/evenement_model.dart';
|
||||
|
||||
/// Classe de base pour tous les états
|
||||
abstract class EvenementsState extends Equatable {
|
||||
const EvenementsState();
|
||||
|
||||
@override
|
||||
List<Object?> get props => [];
|
||||
}
|
||||
|
||||
/// État initial
|
||||
class EvenementsInitial extends EvenementsState {
|
||||
const EvenementsInitial();
|
||||
}
|
||||
|
||||
/// État de chargement
|
||||
class EvenementsLoading extends EvenementsState {
|
||||
const EvenementsLoading();
|
||||
}
|
||||
|
||||
/// État de chargement avec données existantes (pour refresh)
|
||||
class EvenementsRefreshing extends EvenementsState {
|
||||
final List<EvenementModel> currentEvenements;
|
||||
|
||||
const EvenementsRefreshing(this.currentEvenements);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [currentEvenements];
|
||||
}
|
||||
|
||||
/// État de succès avec liste d'événements
|
||||
class EvenementsLoaded extends EvenementsState {
|
||||
final List<EvenementModel> evenements;
|
||||
final int total;
|
||||
final int page;
|
||||
final int size;
|
||||
final int totalPages;
|
||||
final bool hasMore;
|
||||
|
||||
const EvenementsLoaded({
|
||||
required this.evenements,
|
||||
required this.total,
|
||||
this.page = 0,
|
||||
this.size = 20,
|
||||
required this.totalPages,
|
||||
}) : hasMore = page < totalPages - 1;
|
||||
|
||||
@override
|
||||
List<Object?> get props => [evenements, total, page, size, totalPages, hasMore];
|
||||
|
||||
EvenementsLoaded copyWith({
|
||||
List<EvenementModel>? evenements,
|
||||
int? total,
|
||||
int? page,
|
||||
int? size,
|
||||
int? totalPages,
|
||||
}) {
|
||||
return EvenementsLoaded(
|
||||
evenements: evenements ?? this.evenements,
|
||||
total: total ?? this.total,
|
||||
page: page ?? this.page,
|
||||
size: size ?? this.size,
|
||||
totalPages: totalPages ?? this.totalPages,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// État de succès avec un seul événement
|
||||
class EvenementDetailLoaded extends EvenementsState {
|
||||
final EvenementModel evenement;
|
||||
|
||||
const EvenementDetailLoaded(this.evenement);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [evenement];
|
||||
}
|
||||
|
||||
/// État de succès après création
|
||||
class EvenementCreated extends EvenementsState {
|
||||
final EvenementModel evenement;
|
||||
|
||||
const EvenementCreated(this.evenement);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [evenement];
|
||||
}
|
||||
|
||||
/// État de succès après mise à jour
|
||||
class EvenementUpdated extends EvenementsState {
|
||||
final EvenementModel evenement;
|
||||
|
||||
const EvenementUpdated(this.evenement);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [evenement];
|
||||
}
|
||||
|
||||
/// État de succès après suppression
|
||||
class EvenementDeleted extends EvenementsState {
|
||||
final String id;
|
||||
|
||||
const EvenementDeleted(this.id);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id];
|
||||
}
|
||||
|
||||
/// État de succès après inscription
|
||||
class EvenementInscrit extends EvenementsState {
|
||||
final String evenementId;
|
||||
|
||||
const EvenementInscrit(this.evenementId);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [evenementId];
|
||||
}
|
||||
|
||||
/// État de succès après désinscription
|
||||
class EvenementDesinscrit extends EvenementsState {
|
||||
final String evenementId;
|
||||
|
||||
const EvenementDesinscrit(this.evenementId);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [evenementId];
|
||||
}
|
||||
|
||||
/// État avec liste de participants
|
||||
class ParticipantsLoaded extends EvenementsState {
|
||||
final String evenementId;
|
||||
final List<Map<String, dynamic>> participants;
|
||||
|
||||
const ParticipantsLoaded({
|
||||
required this.evenementId,
|
||||
required this.participants,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [evenementId, participants];
|
||||
}
|
||||
|
||||
/// État avec statistiques
|
||||
class EvenementsStatsLoaded extends EvenementsState {
|
||||
final Map<String, dynamic> stats;
|
||||
|
||||
const EvenementsStatsLoaded(this.stats);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [stats];
|
||||
}
|
||||
|
||||
/// État d'erreur
|
||||
class EvenementsError extends EvenementsState {
|
||||
final String message;
|
||||
final String? code;
|
||||
final dynamic error;
|
||||
|
||||
const EvenementsError({
|
||||
required this.message,
|
||||
this.code,
|
||||
this.error,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [message, code, error];
|
||||
}
|
||||
|
||||
/// État d'erreur réseau
|
||||
class EvenementsNetworkError extends EvenementsError {
|
||||
const EvenementsNetworkError({
|
||||
required String message,
|
||||
String? code,
|
||||
dynamic error,
|
||||
}) : super(message: message, code: code, error: error);
|
||||
}
|
||||
|
||||
/// État d'erreur de validation
|
||||
class EvenementsValidationError extends EvenementsError {
|
||||
final Map<String, String> validationErrors;
|
||||
|
||||
const EvenementsValidationError({
|
||||
required String message,
|
||||
required this.validationErrors,
|
||||
String? code,
|
||||
}) : super(message: message, code: code);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [message, code, validationErrors];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user