Files
unionflow-mobile-apps/lib/features/profile/presentation/bloc/profile_event.dart
2026-03-31 09:14:47 +00:00

57 lines
1.3 KiB
Dart

part of 'profile_bloc.dart';
abstract class ProfileEvent extends Equatable {
const ProfileEvent();
@override
List<Object?> 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<Object?> 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<Object?> 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<Object?> get props => [membreId, oldPassword, newPassword];
}
/// Supprime le compte (soft delete backend)
class DeleteAccount extends ProfileEvent {
final String membreId;
const DeleteAccount(this.membreId);
@override
List<Object?> get props => [membreId];
}