using DigitalData.EmailProfiler.Domain.Entities; namespace DigitalData.EmailProfiler.Application.Interfaces.Repositories; /// /// Repository interface for EmailProfile entity. /// public interface IEmailProfileRepository : IRepository { /// /// Get all active profiles. /// Task> GetActiveProfilesAsync(CancellationToken cancellationToken = default); /// /// Get profiles that should be polled now (based on PollIntervalMinutes). /// Task> GetProfilesDueForPollingAsync(CancellationToken cancellationToken = default); /// /// Get profile with all related entities (EmailAccount, EmailProcess, ProcessSteps). /// Task GetWithRelatedEntitiesAsync(int id, CancellationToken cancellationToken = default); /// /// Get profiles by email account ID. /// Task> GetByEmailAccountIdAsync(int emailAccountId, CancellationToken cancellationToken = default); }