57 lines
1.3 KiB
Dart
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];
|
|
}
|