using Persistence.Models;
namespace Persistence.Client.Clients.Interfaces;
///
/// Клиент для работы с данными с отметкой времени
///
public interface ITimestampedSetClient
{
///
/// Записать новые данные
///
///
///
///
///
Task AddRange(Guid idDiscriminator, IEnumerable sets, CancellationToken token);
///
/// Количество записей по указанному набору в БД. Для пагинации
///
///
///
///
Task Count(Guid idDiscriminator, CancellationToken token);
///
/// Получение данных с фильтрацией. Значение фильтра null - отключен
///
///
///
///
///
///
///
///
Task> Get(Guid idDiscriminator, DateTimeOffset? geTimestamp, IEnumerable? columnNames, int skip, int take, CancellationToken token);
///
/// Диапазон дат за которые есть данные
///
///
///
///
Task GetDatesRange(Guid idDiscriminator, CancellationToken token);
///
///
///
///
///
///
///
///
Task> GetLast(Guid idDiscriminator, IEnumerable? columnNames, int take, CancellationToken token);
}