part of 'profile_bloc.dart'; abstract class ProfileEvent extends Equatable { const ProfileEvent(); @override List get props => []; } /// Charge le profil du membre connecté (GET /api/membres/me) - prioritaire class LoadMe extends ProfileEvent { const LoadMe(); } /// Charge le profil par email (recherche) - fallback ou admin class LoadMyProfile extends ProfileEvent { final String email; const LoadMyProfile(this.email); @override List get props => [email]; } /// Met à jour le profil class UpdateMyProfile extends ProfileEvent { final String membreId; final MembreCompletModel membre; const UpdateMyProfile({required this.membreId, required this.membre}); @override List get props => [membreId, membre]; } /// Change le mot de passe via Keycloak class ChangePassword extends ProfileEvent { final String membreId; final String oldPassword; final String newPassword; const ChangePassword({ required this.membreId, required this.oldPassword, required this.newPassword, }); @override List get props => [membreId, oldPassword, newPassword]; } /// Supprime le compte (soft delete backend) class DeleteAccount extends ProfileEvent { final String membreId; const DeleteAccount(this.membreId); @override List get props => [membreId]; }