using AsbCloudApp.Data; using AsbCloudApp.Data.SAUB; using AsbCloudApp.Requests; using AsbCloudApp.Services; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Repositories; /// <summary> /// Репозиторий по работе с сообщениями панели оператора /// </summary> public interface IMessageRepository : ITelemetryDataEditorService { /// <summary> /// Получить сообщения по параметрам /// </summary> /// <param name="request"></param> /// <param name="token"></param> /// <returns></returns> Task<PaginationContainer<MessageDto>> GetPaginatedMessagesAsync(MessageTelemetryRequest request, CancellationToken token); /// <summary> /// Получить сообщения по параметрам /// </summary> /// <param name="request"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<TelemetryMessageDto>> GetMessagesAsync(MessageTelemetryRequest request, CancellationToken token); /// <summary> /// Метод для сохранения сообщения от панели /// </summary> /// <param name="uid"></param> /// <param name="dtos"></param> /// <param name="token"></param> /// <returns></returns> Task InsertAsync(string uid, IEnumerable<TelemetryMessageDto> dtos, CancellationToken token); }