Added database table data into configuration. Store saves is auto-handled. Added Action & Redemption stores.

This commit is contained in:
Tom
2024-12-31 18:31:21 +00:00
parent 538bf07454
commit 3429c8f8dc
29 changed files with 657 additions and 374 deletions

View File

@@ -15,6 +15,8 @@ using Microsoft.AspNetCore.Connections;
using HermesSocketServer.Validators;
using HermesSocketServer.Store;
using HermesSocketServer.Services;
using HermesSocketServer.Store.Internal;
using Microsoft.Extensions.DependencyInjection;
var yamlDeserializer = new DeserializerBuilder()
@@ -78,15 +80,26 @@ s.AddSingleton<ISocketHandler, EmoteUsageHandler>();
s.AddSingleton<VoiceIdValidator>();
s.AddSingleton<VoiceNameValidator>();
// Database Tables
if (configuration.Database.Tables != null)
{
foreach (var table in configuration.Database.Tables)
s.AddKeyedTransient<DatabaseTable>(table.Key, (sp, _) => table.Value);
}
// Stores
s.AddSingleton<VoiceStore>();
s.AddSingleton<UserStore>();
// Request handlers
s.AddSingleton<IRequest, CreatePolicy>();
s.AddSingleton<IRequest, CreateRedeemableAction>();
s.AddSingleton<IRequest, CreateRedemption>();
s.AddSingleton<IRequest, CreateTTSFilter>();
s.AddSingleton<IRequest, CreateTTSUser>();
s.AddSingleton<IRequest, CreateTTSVoice>();
s.AddSingleton<IRequest, DeleteRedeemableAction>();
s.AddSingleton<IRequest, DeleteRedemption>();
s.AddSingleton<IRequest, DeletePolicy>();
s.AddSingleton<IRequest, DeleteTTSFilter>();
s.AddSingleton<IRequest, DeleteTTSVoice>();
@@ -96,18 +109,20 @@ s.AddSingleton<IRequest, GetDefaultTTSVoice>();
s.AddSingleton<IRequest, GetEmotes>();
s.AddSingleton<IRequest, GetEnabledTTSVoices>();
s.AddSingleton<IRequest, GetPermissions>();
s.AddSingleton<IRequest, GetRedemptions>();
s.AddSingleton<IRequest, GetRedeemableActions>();
s.AddSingleton<IRequest, GetRedemptions>();
s.AddSingleton<IRequest, GetPolicies>();
s.AddSingleton<IRequest, GetTTSUsers>();
s.AddSingleton<IRequest, GetTTSVoices>();
s.AddSingleton<IRequest, GetTTSWordFilters>();
s.AddSingleton<IRequest, UpdateDefaultTTSVoice>();
s.AddSingleton<IRequest, UpdatePolicy>();
s.AddSingleton<IRequest, UpdateRedeemableAction>();
s.AddSingleton<IRequest, UpdateRedemption>();
s.AddSingleton<IRequest, UpdateTTSFilter>();
s.AddSingleton<IRequest, UpdateTTSUser>();
s.AddSingleton<IRequest, UpdateTTSVoice>();
s.AddSingleton<IRequest, UpdateDefaultTTSVoice>();
s.AddSingleton<IRequest, UpdateTTSVoiceState>();
s.AddSingleton<IRequest, UpdatePolicy>();
// Managers
s.AddSingleton<ChannelManager>();