Files
BQP/srcs/RobotNet10/Commons/RobotNet10.ScriptEngine/HubContexts/ConsoleHubContext.cs
2026-07-13 09:25:40 +07:00

23 lines
1.3 KiB
C#

using Microsoft.AspNetCore.SignalR;
using RobotNet10.ScriptEngine.Hubs;
namespace RobotNet10.ScriptEngine.HubContexts;
public class ConsoleHubContext(IHubContext<ConsoleHub> hubContext)
{
private void Log(string level, string message, params string[] groups)
{
Task.Run(async Task? () => await hubContext.Clients.Groups([.. groups, "alls"]).SendAsync(level, message)).ConfigureAwait(false);
}
public void LogError(string message) => Log("Error", message);
public void LogInfo(string message) => Log("Info", message);
public void LogWarning(string message) => Log("Warning", message);
public void LogErrorToTask(string name, string message) => Log("Error", message, $"task-{name}");
public void LogInfoToTask(string name, string message) => Log("Info", message, $"task-{name}");
public void LogWarningToTask(string name, string message) => Log("Warning", message, $"task-{name}");
public void LogErrorToMission(Guid missionId, string message) => Log("Error", message, $"mission-{missionId}");
public void LogInfoToMission(Guid missionId, string message) => Log("Info", message, $"mission-{missionId}");
public void LogWarningToMission(Guid missionId, string message) => Log("Warning", message, $"mission-{missionId}");
}