Clean project: remove test files, debug logs, and add documentation
This commit is contained in:
@@ -0,0 +1,180 @@
|
||||
/// États pour le BLoC des membres
|
||||
library membres_state;
|
||||
|
||||
import 'package:equatable/equatable.dart';
|
||||
import '../data/models/membre_complete_model.dart';
|
||||
|
||||
/// Classe de base pour tous les états des membres
|
||||
abstract class MembresState extends Equatable {
|
||||
const MembresState();
|
||||
|
||||
@override
|
||||
List<Object?> get props => [];
|
||||
}
|
||||
|
||||
/// État initial
|
||||
class MembresInitial extends MembresState {
|
||||
const MembresInitial();
|
||||
}
|
||||
|
||||
/// État de chargement
|
||||
class MembresLoading extends MembresState {
|
||||
const MembresLoading();
|
||||
}
|
||||
|
||||
/// État de chargement avec données existantes (pour refresh)
|
||||
class MembresRefreshing extends MembresState {
|
||||
final List<MembreCompletModel> currentMembres;
|
||||
|
||||
const MembresRefreshing(this.currentMembres);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [currentMembres];
|
||||
}
|
||||
|
||||
/// État de succès avec liste de membres
|
||||
class MembresLoaded extends MembresState {
|
||||
final List<MembreCompletModel> membres;
|
||||
final int totalElements;
|
||||
final int currentPage;
|
||||
final int pageSize;
|
||||
final int totalPages;
|
||||
final bool hasMore;
|
||||
|
||||
const MembresLoaded({
|
||||
required this.membres,
|
||||
required this.totalElements,
|
||||
this.currentPage = 0,
|
||||
this.pageSize = 20,
|
||||
required this.totalPages,
|
||||
}) : hasMore = currentPage < totalPages - 1;
|
||||
|
||||
@override
|
||||
List<Object?> get props => [membres, totalElements, currentPage, pageSize, totalPages, hasMore];
|
||||
|
||||
MembresLoaded copyWith({
|
||||
List<MembreCompletModel>? membres,
|
||||
int? totalElements,
|
||||
int? currentPage,
|
||||
int? pageSize,
|
||||
int? totalPages,
|
||||
}) {
|
||||
return MembresLoaded(
|
||||
membres: membres ?? this.membres,
|
||||
totalElements: totalElements ?? this.totalElements,
|
||||
currentPage: currentPage ?? this.currentPage,
|
||||
pageSize: pageSize ?? this.pageSize,
|
||||
totalPages: totalPages ?? this.totalPages,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// État de succès avec un seul membre
|
||||
class MembreDetailLoaded extends MembresState {
|
||||
final MembreCompletModel membre;
|
||||
|
||||
const MembreDetailLoaded(this.membre);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [membre];
|
||||
}
|
||||
|
||||
/// État de succès après création
|
||||
class MembreCreated extends MembresState {
|
||||
final MembreCompletModel membre;
|
||||
|
||||
const MembreCreated(this.membre);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [membre];
|
||||
}
|
||||
|
||||
/// État de succès après mise à jour
|
||||
class MembreUpdated extends MembresState {
|
||||
final MembreCompletModel membre;
|
||||
|
||||
const MembreUpdated(this.membre);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [membre];
|
||||
}
|
||||
|
||||
/// État de succès après suppression
|
||||
class MembreDeleted extends MembresState {
|
||||
final String id;
|
||||
|
||||
const MembreDeleted(this.id);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id];
|
||||
}
|
||||
|
||||
/// État de succès après activation
|
||||
class MembreActivated extends MembresState {
|
||||
final MembreCompletModel membre;
|
||||
|
||||
const MembreActivated(this.membre);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [membre];
|
||||
}
|
||||
|
||||
/// État de succès après désactivation
|
||||
class MembreDeactivated extends MembresState {
|
||||
final MembreCompletModel membre;
|
||||
|
||||
const MembreDeactivated(this.membre);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [membre];
|
||||
}
|
||||
|
||||
/// État avec statistiques
|
||||
class MembresStatsLoaded extends MembresState {
|
||||
final Map<String, dynamic> stats;
|
||||
|
||||
const MembresStatsLoaded(this.stats);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [stats];
|
||||
}
|
||||
|
||||
/// État d'erreur
|
||||
class MembresError extends MembresState {
|
||||
final String message;
|
||||
final String? code;
|
||||
final dynamic error;
|
||||
|
||||
const MembresError({
|
||||
required this.message,
|
||||
this.code,
|
||||
this.error,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [message, code, error];
|
||||
}
|
||||
|
||||
/// État d'erreur réseau
|
||||
class MembresNetworkError extends MembresError {
|
||||
const MembresNetworkError({
|
||||
required String message,
|
||||
String? code,
|
||||
dynamic error,
|
||||
}) : super(message: message, code: code, error: error);
|
||||
}
|
||||
|
||||
/// État d'erreur de validation
|
||||
class MembresValidationError extends MembresError {
|
||||
final Map<String, String> validationErrors;
|
||||
|
||||
const MembresValidationError({
|
||||
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