using Microsoft.AspNetCore.SignalR;
using SameBeat.Application.DTO;
using SameBeat.Application.Interfejsy;
namespace SameBeat.Api.Hubs;
///
/// Implementacja IRozgloszenieZdarzenImprezy dla SerwisTimeraMikrofonu (Infrastructure/Audio) -- cienki
/// adapter na IHubContext<StanImprezyHub>, patrz komentarz w interfejsie po strone Application.
///
public sealed class RozgloszenieZdarzenImprezy : IRozgloszenieZdarzenImprezy
{
private readonly IHubContext _hubKontekst;
public RozgloszenieZdarzenImprezy(IHubContext hubKontekst)
{
_hubKontekst = hubKontekst;
}
public Task MikrofonOdebranyAsync(StanMikrofonuDto stan, CancellationToken token = default) =>
_hubKontekst.Clients.All.SendAsync("MikrofonOdebrany", stan, cancellationToken: token);
}