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);
}