24 lines
754 B
Dart
24 lines
754 B
Dart
/// Use Case: Changer le mot de passe
|
|
library change_password;
|
|
|
|
import 'package:injectable/injectable.dart';
|
|
import '../repositories/profile_repository.dart';
|
|
|
|
/// Change le mot de passe de l'utilisateur via Keycloak
|
|
/// Endpoint: POST /api/auth/change-password
|
|
@injectable
|
|
class ChangePassword {
|
|
final IProfileRepository _repository;
|
|
|
|
ChangePassword(this._repository);
|
|
|
|
/// Exécute le use case
|
|
/// [id] : Identifiant du membre
|
|
/// [oldPassword] : Ancien mot de passe (validation)
|
|
/// [newPassword] : Nouveau mot de passe
|
|
/// Lève une exception si l'ancien mot de passe est incorrect
|
|
Future<void> call(String id, String oldPassword, String newPassword) async {
|
|
return _repository.changePassword(id, oldPassword, newPassword);
|
|
}
|
|
}
|