using Microsoft.AspNetCore.Mvc; using Persistence.Models; using Persistence.Models.Requests; namespace Persistence.API; /// /// Интерфейс для работы с API журнала изменений /// public interface IChangeLogApi { /// /// Импорт с заменой: удаление старых строк и добавление новых /// /// /// /// /// Task ClearAndInsertRange(Guid idDiscriminator, IEnumerable dtos, CancellationToken token); /// /// Получение данных на текущую дату (с пагинацией) /// /// /// параметры запроса /// /// Task>> GetCurrent(Guid idDiscriminator, SectionPartRequest request, CancellationToken token); /// /// Получение данных на определенную дату (с пагинацией) /// /// /// /// параметры запроса /// /// Task>> GetByDate(Guid idDiscriminator, DateTimeOffset moment, SectionPartRequest request, CancellationToken token); /// /// Получение исторических данных за определенный период времени /// /// /// /// /// /// Task>> GetChangeLogForDate(Guid idDiscriminator, DateTimeOffset dateBegin, DateTimeOffset dateEnd, CancellationToken token); /// /// Добавить одну запись /// /// /// /// /// Task> Add(Guid idDiscriminator, DataWithWellDepthAndSectionDto dto, CancellationToken token); /// /// Добавить несколько записей /// /// /// /// /// Task> AddRange(Guid idDiscriminator, IEnumerable dtos, CancellationToken token); /// /// Обновить одну запись /// /// /// /// /// Task> Update(Guid idDiscriminator, DataWithWellDepthAndSectionDto dto, CancellationToken token); /// /// Обновить несколько записей /// /// /// /// /// Task> UpdateRange(Guid idDiscriminator, IEnumerable dtos, CancellationToken token); /// /// Удалить одну запись /// /// /// /// Task> Delete(Guid id, CancellationToken token); /// /// Удалить несколько записей /// /// /// /// Task> DeleteRange(IEnumerable ids, CancellationToken token); /// /// Получение списка дат, в которые происходили изменения (день, месяц, год, без времени) /// /// /// /// Task>> GetDatesChange(Guid idDiscriminator, CancellationToken token); }