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

namespace AsbCloudApp.Services
{
    public interface IMessageService
    {
        Task<PaginationContainer<MessageDto>> GetMessagesAsync(int idWell,
            IEnumerable<int> categoryids = null, DateTime begin = default,
            DateTime end = default, string searchString = default,
            int skip = 0, int take = 32, CancellationToken token = default);
        Task<DatesRangeDto> GetMessagesDatesRangeAsync(int idWell,
            CancellationToken token = default);
        Task InsertAsync(string uid, IEnumerable<TelemetryMessageDto> dtos,
            CancellationToken token);
    }
}