using HermesSocketServer.Models; using ILogger = Serilog.ILogger; namespace HermesSocketServer.Requests { public class DeleteConnection : IRequest { public string Name => "delete_connection"; public string[] RequiredKeys => ["name"]; private ILogger _logger; public DeleteConnection(ILogger logger) { _logger = logger; } public Task Grant(Channel channel, IDictionary data) { var connectionName = data["name"].ToString()!; var result = channel.Connections.Remove(connectionName); if (result) { _logger.Information($"Deleted a connection by name [connection name: {connectionName}]"); return Task.FromResult(RequestResult.Successful(null)); } _logger.Warning($"Connection Name does not exist [connection name: {connectionName}]"); return Task.FromResult(RequestResult.Failed("Something went wrong when updating the cache.")); } } }