using HermesSocketServer.Models; using HermesSocketServer.Store; using ILogger = Serilog.ILogger; namespace HermesSocketServer.Requests { public class DeleteTTSVoice : IRequest { public string Name => "delete_tts_voice"; public string[] RequiredKeys => ["voice"]; private IStore _voices; private ILogger _logger; public DeleteTTSVoice(VoiceStore voices, ILogger logger) { _voices = voices; _logger = logger; } public Task Grant(Channel channel, IDictionary data) { string voiceId = data["voice"].ToString()!; _voices.Remove(voiceId); _logger.Information($"Deleted a voice by id [voice id: {voiceId}]"); return Task.FromResult(RequestResult.Successful(null)); } } }