using AsbCloudApp.Data;
using SignalRSwaggerGen.Attributes;
using System.Threading;
using System.Threading.Tasks;

namespace AsbCloudWebApi.SignalR.Clients
{
    /// <summary>
    /// Hub по работе с информацией о скважине
    /// </summary>
    [SignalRHub]
    public interface IWellInfoHubClient
    {
        /// <summary>
        /// Отправка клиенту сообщения об обновлении информации о скважине
        /// Для подписки на метод необходимо отправить сообщение в формате $"well_info_{idWell}"
        /// </summary>
        /// <param name="wellInfo">информация о скважине</param>
        /// <param name="token"></param>
        /// <returns></returns>
        Task UpdateWellInfo(object wellInfo, CancellationToken token);
    }
}