Redid stores. Added user store. Added Channel Manager, to manage data from a single channel.

This commit is contained in:
Tom
2024-10-19 01:50:46 +00:00
parent 3f3ba63554
commit 4d0b38babd
22 changed files with 654 additions and 475 deletions

View File

@@ -1,5 +1,5 @@
using HermesSocketLibrary.Requests;
using HermesSocketServer.Store;
using HermesSocketServer.Services;
using ILogger = Serilog.ILogger;
namespace HermesSocketServer.Requests
@@ -7,18 +7,22 @@ namespace HermesSocketServer.Requests
public class GetTTSUsers : IRequest
{
public string Name => "get_tts_users";
private ChatterStore _chatters;
private ChannelManager _channels;
private ILogger _logger;
public GetTTSUsers(ChatterStore chatters, ILogger logger)
public GetTTSUsers(ChannelManager channels, ILogger logger)
{
_chatters = chatters;
_channels = channels;
_logger = logger;
}
public async Task<RequestResult> Grant(string sender, IDictionary<string, object>? data)
{
var temp = _chatters.Get(sender);
var channel = _channels.Get(sender);
if (channel == null)
return new RequestResult(false, null, notifyClientsOnAccount: false);
var temp = channel.Chatters.Get().ToDictionary(p => p.Key, p => p.Value.VoiceId);
_logger.Information($"Fetched all chatters' selected tts voice for channel [channel: {sender}]");
return new RequestResult(true, temp, notifyClientsOnAccount: false);
}