using Microsoft.AspNetCore.Mvc; using DD.Persistence.Models.Common; namespace DD.Persistence.API; /// <summary> /// Интерфейс для API, предназначенного для синхронизации данных, у которых есть дискриминатор /// </summary> public interface ISyncWithDiscriminatorApi<TDto> { /// <summary> /// Получить порцию записей, начиная с заданной даты /// </summary> /// <param name="idDiscriminator"></param> /// <param name="dateBegin"></param> /// <param name="take">количество записей</param> /// <param name="token"></param> /// <returns></returns> Task<ActionResult<IEnumerable<TDto>>> GetPart(Guid idDiscriminator, DateTimeOffset dateBegin, int take = 24 * 60 * 60, CancellationToken token = default); /// <summary> /// Получить диапазон дат, для которых есть данные в репозитории /// </summary> /// <param name="idDiscriminator"></param> /// <param name="token"></param> /// <returns></returns> Task<ActionResult<DatesRangeDto>> GetDatesRangeAsync(Guid idDiscriminator, CancellationToken token); }