namespace PromotionService.Domain.SeedWork;

/// <summary>
/// EN: Generic repository interface for aggregate roots.
/// VI: Interface repository generic cho aggregate roots.
/// </summary>
/// <typeparam name="T">EN: The aggregate root type / VI: Kiểu aggregate root</typeparam>
public interface IRepository<T> where T : IAggregateRoot
{
    /// <summary>
    /// EN: The unit of work for this repository.
    /// VI: Unit of work cho repository này.
    /// </summary>
    IUnitOfWork UnitOfWork { get; }
}
