using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.SignalR;
namespace ZB.MOM.WW.MxGateway.Server.Dashboard.Hubs;
///
/// SignalR hub that pushes alarm-feed messages from the gateway's
/// central alarm monitor. Connected clients auto-join
/// on connect and receive every
/// AlarmFeedMessage the monitor emits.
///
[Authorize(Policy = DashboardAuthenticationDefaults.HubClientsPolicy)]
public sealed class AlarmsHub : Hub
{
public const string AllAlarmsGroup = "__alarms__";
/// Method name used to push AlarmFeedMessage values to clients.
public const string AlarmMessage = "AlarmFeed";
///
public override async Task OnConnectedAsync()
{
await Groups.AddToGroupAsync(Context.ConnectionId, AllAlarmsGroup).ConfigureAwait(false);
await base.OnConnectedAsync().ConfigureAwait(false);
}
}