using AdsManagerService.Domain.SeedWork;

namespace AdsManagerService.Domain.AggregatesModel.AdSetAggregate;

/// <summary>
/// EN: Repository interface for AdSet aggregate.
/// VI: Interface repository cho AdSet aggregate.
/// </summary>
public interface IAdSetRepository : IRepository<AdSet>
{
    AdSet Add(AdSet adSet);
    void Update(AdSet adSet);
    Task<AdSet?> GetByIdAsync(Guid id, CancellationToken cancellationToken = default);
    Task<IEnumerable<AdSet>> GetByCampaignIdAsync(Guid campaignId, CancellationToken cancellationToken = default);
}
