using HermesSocketServer.Models; using ILogger = Serilog.ILogger; namespace HermesSocketServer.Requests { public class DeleteRedeemableAction : IRequest { public string Name => "delete_redeemable_action"; public string[] RequiredKeys => ["name"]; private ILogger _logger; public DeleteRedeemableAction(ILogger logger) { _logger = logger; } public Task Grant(Channel channel, IDictionary data) { string name = data["name"].ToString()!; var result = channel.Actions.Remove(name); if (result) { _logger.Information($"Deleted a redeemable action by name [name: {name}]"); return Task.FromResult(RequestResult.Successful(null)); } _logger.Warning($"Action name does not exist [id: {name}]"); return Task.FromResult(RequestResult.Failed("Action name does not exist.")); } } }