import 'package:afterwork/domain/entities/user.dart';

/// Interface pour le dépôt de l'utilisateur.
/// Cette interface définit les contrats que doit respecter tout dépôt
/// qui gère les données relatives aux utilisateurs.
abstract class UserRepository {
  /// Méthode pour récupérer un utilisateur par son identifiant.
  /// Cette méthode retourne un objet [User] ou lève une exception en cas d'échec.
  Future<User> getUser(String id) {
    print("Appel à la méthode getUser avec l'ID : $id");
    throw UnimplementedError("Cette méthode doit être implémentée dans une classe concrète.");
  }
}
