using Microsoft.AspNetCore.SignalR; namespace CodePlay.WebAPI.Hubs; public class ConversionHub : Hub { public async Task JoinProgressGroup(string conversionId) { await Groups.AddToGroupAsync(Context.ConnectionId, conversionId); } public async Task LeaveProgressGroup(string conversionId) { await Groups.RemoveFromGroupAsync(Context.ConnectionId, conversionId); } } public class ProgressMessage { public int Percent { get; set; } public string CurrentFile { get; set; } = ""; public string Status { get; set; } = ""; public TimeSpan? EstimatedTimeRemaining { get; set; } }