Load wallets from self contained folders

This commit is contained in:
TheXamlGuy
2024-06-29 18:13:46 +01:00
parent 1cb0756906
commit 8ea60f22d1
+9 -4
View File
@@ -1,18 +1,23 @@
using Toolkit.Foundation;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Toolkit.Foundation;
namespace Wallet;
public class WalletInitializer(IEnumerable<IConfigurationDescriptor<WalletConfiguration>> configurations,
public class WalletInitializer(IHostingEnvironment environment, IEnumerable<IConfigurationDescriptor<WalletConfiguration>> configurations,
IComponentFactory componentFactory,
IWalletHostCollection Wallets) :
IInitialization
{
public async Task Initialize()
{
foreach (IConfigurationDescriptor<WalletConfiguration> configuration in configurations)
foreach (string wallet in Directory.EnumerateDirectories(Path.Combine(environment.ContentRootPath, "Wallet")))
{
string name = Path.GetFileName(wallet);
string section = $"Wallet:{name}";
if (componentFactory.Create<WalletComponent,
WalletConfiguration>(configuration.Section, configuration.Value)
WalletConfiguration>(section)
is IComponentHost host)
{
Wallets.Add(host);