39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
|
using Serilog;
|
||
|
using TwitchChatTTS.Twitch.Redemptions;
|
||
|
|
||
|
namespace TwitchChatTTS.Hermes.Socket.Requests
|
||
|
{
|
||
|
public class DeleteRedeemableActionAck : IRequestAck
|
||
|
{
|
||
|
public string Name => "delete_redeemable_action";
|
||
|
private readonly IRedemptionManager _redemptions;
|
||
|
private readonly ILogger _logger;
|
||
|
|
||
|
public DeleteRedeemableActionAck(IRedemptionManager redemptions, ILogger logger)
|
||
|
{
|
||
|
_redemptions = redemptions;
|
||
|
_logger = logger;
|
||
|
}
|
||
|
|
||
|
public void Acknowledge(string requestId, string json, IDictionary<string, object>? requestData)
|
||
|
{
|
||
|
if (requestData == null)
|
||
|
{
|
||
|
_logger.Warning("Request data is null.");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
var name = requestData["name"].ToString();
|
||
|
if (string.IsNullOrEmpty(name))
|
||
|
{
|
||
|
_logger.Warning($"Action name is invalid [action name: {name}]");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (_redemptions.RemoveAction(name))
|
||
|
_logger.Information($"Deleted a redeemable action [action name: {name}]");
|
||
|
else
|
||
|
_logger.Warning($"Failed to delete a redeemable action [action name: {name}]");
|
||
|
}
|
||
|
}
|
||
|
}
|