namespace TaxBaik.Domain.Interfaces;

using TaxBaik.Domain.Entities;

public interface IConsultingActivityRepository
{
    Task<int> CreateAsync(ConsultingActivity activity, CancellationToken cancellationToken = default);
    Task<IEnumerable<ConsultingActivity>> GetAllAsync(CancellationToken cancellationToken = default);
    Task<IEnumerable<ConsultingActivity>> GetByClientIdAsync(int clientId, CancellationToken cancellationToken = default);
    Task<IEnumerable<ConsultingActivity>> GetPendingFollowupsAsync(CancellationToken cancellationToken = default);
    Task<IEnumerable<ConsultingActivity>> GetByConsultantAsync(int consultantId, DateTime fromDate, CancellationToken cancellationToken = default);
    Task UpdateAsync(ConsultingActivity activity, CancellationToken cancellationToken = default);
}
