using DD.Persistence.Models.ChangeLog; using DD.Persistence.Models.Common; using DD.Persistence.Models.Requests; namespace DD.Persistence.Client.Clients.Interfaces; /// /// Клиент для работы с записями ChangeLog /// public interface IChangeLogClient : IDisposable { /// /// Добавить несколько записей /// /// /// /// /// /// Task AddRange(Guid idDiscriminator, IEnumerable> dtos, string comment, CancellationToken token); /// /// Импорт с заменой: удаление старых строк и добавление новых /// /// /// /// /// /// Task ClearAndAddRange(Guid idDiscriminator, IEnumerable> dtos, string comment, CancellationToken token); /// /// Удалить несколько записей /// /// /// /// /// /// Task DeleteRange(Guid idDiscriminator, IEnumerable ids, string comment, CancellationToken token); /// /// Получение актуальных данных на определенную дату (с пагинацией) /// /// /// /// /// /// Task> GetByDate(Guid idDiscriminator, DateTimeOffset moment, PaginationRequest paginationRequest, CancellationToken token); /// /// Получение исторических данных за определенный период времени /// /// /// /// /// /// Task> GetChangeLogForInterval(Guid idDiscriminator, DateTimeOffset dateBegin, DateTimeOffset dateEnd, CancellationToken token); /// /// Получение списка дат, в которые происходили изменения (день, месяц, год, без времени) /// /// /// /// Task GetDatesRange(Guid idDiscriminator, CancellationToken token); /// /// Обновить несколько записей /// /// /// /// /// /// Task UpdateRange(Guid idDiscriminator, IEnumerable dtos, string comment, CancellationToken token); /// /// Получение статистики журнала изменений /// /// /// /// Task> GetStatistics(ChangeLogQuery request, CancellationToken token); /// /// Получение истории по журналу изменений /// /// /// /// Task> GetHistory(ChangeLogQuery request, CancellationToken token); }