2024-11-12 13:36:09 +05:00
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
using Persistence.Models;
|
2024-11-08 18:24:52 +05:00
|
|
|
|
|
|
|
|
|
namespace Persistence.API;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2024-11-21 17:02:36 +05:00
|
|
|
|
/// Базовый интерфейс для работы с временными рядами
|
2024-11-08 18:24:52 +05:00
|
|
|
|
/// </summary>
|
2024-11-21 17:02:36 +05:00
|
|
|
|
public interface ITimeSeriesBaseDataApi<TDto>
|
2024-11-08 18:24:52 +05:00
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
2024-11-21 17:02:36 +05:00
|
|
|
|
/// Получить список объектов с прореживанием, удовлетворяющий диапазону дат
|
2024-11-08 18:24:52 +05:00
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="dateBegin">дата начала</param>
|
|
|
|
|
/// <param name="dateEnd">дата окончания</param>
|
|
|
|
|
/// <param name="approxPointsCount"></param>
|
|
|
|
|
/// <returns></returns>
|
2024-11-22 16:48:55 +05:00
|
|
|
|
Task<IActionResult> GetResampledData(
|
|
|
|
|
DateTimeOffset dateBegin,
|
|
|
|
|
double intervalSec = 600d,
|
|
|
|
|
int approxPointsCount = 1024,
|
|
|
|
|
CancellationToken token = default);
|
2024-11-08 18:24:52 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получить диапазон дат, для которых есть данные в репозитории
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2024-11-21 17:02:36 +05:00
|
|
|
|
Task<IActionResult> GetDatesRange(CancellationToken token);
|
2024-11-08 18:24:52 +05:00
|
|
|
|
}
|