using NexusReader.Domain.Entities;
namespace NexusReader.Application.Abstractions.Persistence;
///
/// Abstraction for QuizResult and related User entity lookup.
/// Defined in the Application layer to maintain Clean Architecture isolation.
///
public interface IQuizResultRepository
{
///
/// Finds a user by ID to extract tenant context.
///
Task FindUserByIdAsync(string userId, CancellationToken cancellationToken = default);
///
/// Adds a new quiz result to the database.
///
void AddQuizResult(QuizResult quizResult);
///
/// Persists all staged changes to the repository.
///
Task SaveChangesAsync(CancellationToken cancellationToken = default);
}