using Microsoft.AspNetCore.Mvc;
using DD.Persistence.Models;

namespace DD.Persistence.API;

/// <summary>
/// Интерфейс для работы с параметрами Wits
/// </summary>
public interface IWitsDataApi : ISyncWithDiscriminatorApi<WitsDataDto>
{
    /// <summary>
    /// Получить набор параметров (Wits) для построения графика
    /// </summary>
    /// <param name="discriminatorId"></param>
    /// <param name="dateFrom"></param>
    /// <param name="dateTo"></param>
    /// <param name="approxPointsCount"></param>
    /// <param name="token"></param>
    /// <returns></returns>
    Task<ActionResult<IEnumerable<WitsDataDto>>> GetValuesForGraph(Guid discriminatorId, DateTimeOffset dateFrom, DateTimeOffset dateTo,
        int approxPointsCount, CancellationToken token);

    /// <summary>
    /// Сохранить набор параметров (Wits)
    /// </summary>
    /// <param name="dtos"></param>
    /// <param name="token"></param>
    /// <returns></returns>
    Task<IActionResult> AddRange(IEnumerable<WitsDataDto> dtos, CancellationToken token);
}