using AsbCloudWebApi.SignalR.Messages;
using SignalRSwaggerGen.Attributes;
using System.Threading;
using System.Threading.Tasks;

namespace AsbCloudWebApi.SignalR.Clients
{
    /// <summary>
    /// Hub по работе с уведомлениями
    /// </summary>
    [SignalRHub]
    public interface INotificationHubClient
    {
        /// <summary>
        /// Отправка клиенту сообщения с уведомлением.
        /// Для подписки на метод необходимо отправить connectionId
        /// </summary>
        /// <param name="message">сообщение с уведомлением</param>
        /// <param name="token"></param>
        /// <returns></returns>
        Task ReceiveNotifications(NotificationMessage message, CancellationToken token);
    }
}