using Microsoft.AspNetCore.Mvc;
using Persistence.Models;
namespace Persistence.API;
///
/// Интерфейс для работы с API журнала изменений
///
public interface IChangeLogApi
{
///
/// Получение данных на текущую дату
///
///
///
///
Task>> GetCurrent(Guid idDiscriminator, CancellationToken token);
///
/// Получение данных на определенную дату
///
///
///
///
///
Task>> GetByDate(Guid idDiscriminator, DateTimeOffset moment, 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);
}