Spaces:
Running
Running
File size: 1,009 Bytes
64a3c1d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.SignalR;
using TaskTrackingSystem.WebApi.Infrastructure;
namespace TaskTrackingSystem.WebApi.Features.Notification;
[Authorize]
public class NotificationHub : Hub
{
public static string GetUserGroupName(long userId) => $"notification-user-{userId}";
public override async global::System.Threading.Tasks.Task OnConnectedAsync()
{
var userId = Context.User?.GetUserId() ?? 0;
if (userId > 0)
{
await Groups.AddToGroupAsync(Context.ConnectionId, GetUserGroupName(userId));
}
await base.OnConnectedAsync();
}
public override async global::System.Threading.Tasks.Task OnDisconnectedAsync(Exception? exception)
{
var userId = Context.User?.GetUserId() ?? 0;
if (userId > 0)
{
await Groups.RemoveFromGroupAsync(Context.ConnectionId, GetUserGroupName(userId));
}
await base.OnDisconnectedAsync(exception);
}
}
|