using DD.Persistence.Models; using DD.Persistence.Models.Common; namespace DD.Persistence.Services.Interfaces; /// /// Сервис для работы с временными данными /// public interface ITimestampedValuesService { /// /// Добавление записей /// /// /// /// /// Task AddRange(Guid discriminatorId, IEnumerable dtos, CancellationToken token); /// /// Получение данных с фильтрацией для нескольких систем. Значение фильтра null - отключен /// /// Набор дискриминаторов (идентификаторов) /// /// /// /// /// /// Task> Get(IEnumerable discriminatorIds, DateTimeOffset? geTimestamp, IEnumerable? columnNames, int skip, int take, CancellationToken token); /// /// Получение данных с начала /// /// Дискриминатор (идентификатор) набора /// Количество /// /// Task> GetFirst(Guid discriminatorId, int takeCount, CancellationToken token); /// /// Получить данные, начиная с определенной даты /// /// /// дата начала /// /// Task> GetGtDate(Guid discriminatorId, DateTimeOffset timestampBegin, CancellationToken token); /// /// Получение данных с конца /// /// Дискриминатор (идентификатор) набора /// Количество /// /// Task> GetLast(Guid discriminatorId, int takeCount, CancellationToken token); /// /// Получить список объектов с прореживанием /// /// /// дата начала /// /// /// /// Task> GetResampledData(Guid discriminatorId, DateTimeOffset timestampBegin, double intervalSec = 600, int approxPointsCount = 1024, CancellationToken token = default); }