using Microsoft.Extensions.DependencyInjection; using Toolkit.Foundation; namespace Bitvault; public class VaultComponentsCollectionInitializer(IServiceProvider provider, IProxyServiceCollection proxy, VaultConfigurationCollection configurations) : IInitializer { public Task Initialize() { //for (int index = 0; index < configurations.Count; index++) //{ // VaultConfiguration configuration = configurations[index]; // if (provider.GetRequiredService() is IVaultComponent component) // { // IComponentBuilder builder = component.Create(); // builder.AddServices(services => // { // services.AddTransient(_ => // provider.GetRequiredService>()); // services.AddTransient(_ => // provider.GetRequiredService>()); // services.AddScoped(_ => // provider.GetRequiredService()); // services.AddScoped(_ => // provider.GetRequiredService()); // services.AddScoped(_ => // provider.GetRequiredService()); // services.AddTransient(_ => // provider.GetRequiredService()); // services.AddRange(proxy.Services); // }); // builder.AddConfiguration(name: $"{nameof(VaultConfigurationCollection)}:{configuration.Name}"); // IComponentHost host = builder.Build(); // host.StartAsync(); // } //} return Task.CompletedTask; } }