using AsbCloudApp.Data;
using System;
using System.Collections.Generic;

namespace AsbCloudApp.Services
{
    /// <summary>
    /// Сервис статистики телеметрии
    /// </summary>
    public interface ITelemetryTracker
    {
        /// <summary>
        /// получить дату последней отправки данных панелью
        /// </summary>
        /// <param name="uid"></param>
        /// <returns></returns>
        DateTimeOffset GetLastTelemetryDateByUid(string uid);

        /// <summary>
        /// получить диапазон дат за которые есть данные по телеметрии
        /// </summary>
        /// <param name="uid"></param>
        /// <returns></returns>
        DatesRangeDto GetTelemetryDateRangeByUid(string uid);

        /// <summary>
        /// список передающих телеметрий
        /// </summary>
        /// <returns></returns>
        IEnumerable<string> GetTransmittingTelemetriesUids();

        /// <summary>
        /// обновить статистику по телеметрии
        /// </summary>
        /// <param name="uid"></param>
        /// <param name="remoteDate"></param>
        void SaveRequestDate(string uid, DateTimeOffset remoteDate);
    }
}