refactoring and checkpoint

This commit is contained in:
DahoudG
2024-09-24 00:32:20 +00:00
parent dc73ba7dcc
commit 6b12cfeb41
159 changed files with 8119 additions and 1535 deletions

View File

@@ -3,16 +3,28 @@ import 'package:afterwork/domain/entities/user.dart';
import 'package:afterwork/domain/repositories/user_repository.dart';
import 'package:afterwork/core/errors/failures.dart';
/// Classe qui implémente le cas d'utilisation permettant de récupérer un utilisateur par son ID.
/// Elle interagit avec le dépôt d'utilisateur pour récupérer les données utilisateur.
class GetUser {
final UserRepository repository;
final UserRepository repository; // Référence au dépôt d'utilisateur
GetUser(this.repository);
/// Constructeur qui prend en paramètre un dépôt d'utilisateur.
GetUser(this.repository) {
print("Initialisation de GetUser avec le UserRepository.");
}
/// Méthode pour récupérer un utilisateur par son ID.
/// Retourne soit un [User], soit une [Failure] en cas d'erreur.
Future<Either<Failure, User>> call(String id) async {
print("Appel à GetUser avec l'ID : $id");
try {
// Appel au dépôt pour récupérer l'utilisateur
final user = await repository.getUser(id);
print("Utilisateur récupéré avec succès : ${user.userId}");
return Right(user);
} catch (e) {
print("Erreur lors de la récupération de l'utilisateur : $e");
return Left(ServerFailure());
}
}