using DD.Persistence.Models;
using DD.Persistence.Models.Requests;
namespace DD.Persistence.Client.Clients.Interfaces;
///
/// Клиент для работы с технологическими сообщениями
///
public interface ITechMessagesClient : IDisposable
{
///
/// Добавить новые технологические сообщения
///
///
///
///
Task AddRange(Guid systemId, IEnumerable dtos, CancellationToken token);
///
/// Получить диапазон дат, для которых есть данные в репозитории
///
///
///
Task GetDatesRangeAsync(CancellationToken token);
///
/// Получить список технологических сообщений в виде страницы
///
///
///
///
Task> GetPage(PaginationRequest request, CancellationToken token);
///
/// Получить порцию записей, начиная с заданной даты
///
///
///
///
///
Task> GetPart(DateTimeOffset dateBegin, int take, CancellationToken token);
///
/// Получить статистику по системам
///
///
///
///
///
Task> GetStatistics(IEnumerable systemIds, IEnumerable categoryIds, CancellationToken token);
///
/// Получить список всех систем
///
///
///
Task> GetSystems(CancellationToken token);
}