using System;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Requests;
///
/// Параметры запроса телеметрии
///
public class TelemetryDataRequest
{
///
/// Максимально допустимое кол-во строк данных
///
public const int MaxTake = 3072;
///
/// greater or equal then Date
///
public DateTimeOffset? GeDate { get; set; }
///
/// less or equal then Date
///
public DateTimeOffset? LeDate { get; set; }
///
/// Делитель для прореживания выборки.
///
/// - 1 - без прореживания (default);
/// - 2 - каждое 2-е значение;
/// - 10 - каждое 10-е значение;
///
///
[Range(0, 300)]
public int Divider { get; set; } = 1;
///
/// сортировка/выравнивание данных в запросе по дате
///
/// - 0 - более ранние данные вперед;
/// - 1 - более поздние данные вперед;
///
///
[Range(0, 1)]
public int Order { get; set; } = 0;
///
/// Пропустить с начала
///
[Range(0, int.MaxValue)]
public int Skip { get; set; } = 0;
///
/// Кол-во возвращаемых, но не больше MaxTake
///
[Range(1, MaxTake)]
public int Take { get; set; } = 1024;
}