Files
Cleanuparr/code/Infrastructure/Configuration/ConfigurationExtensions.cs
Flaminel ef9868be4d fix
2025-05-18 02:17:45 +03:00

29 lines
1.0 KiB
C#

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace Infrastructure.Configuration;
public static class ConfigurationExtensions
{
public static IServiceCollection AddConfigurationServices(this IServiceCollection services)
{
// Register path provider to handle Docker vs local environment
services.AddSingleton<ConfigurationPathProvider>();
// Register the base JSON provider
services.AddSingleton<JsonConfigurationProvider>();
// Register the cached provider as the implementation of IConfigurationProvider
services.AddSingleton<IConfigurationProvider, CachedConfigurationProvider>();
// Register config manager and initializer
services.AddSingleton<IConfigManager, ConfigManager>();
services.AddSingleton<ConfigInitializer>();
// Register the configuration preloader as a hosted service
services.AddHostedService<ConfigurationPreloader>();
return services;
}
}