using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; namespace zero.Configuration; public class ConfigurationModule : ZeroModule { public override void ConfigureServices(IServiceCollection services, IConfiguration configuration) { services.AddOptions().Configure((opts, svc) => { opts.ServiceProvider = svc; opts.Version = "0.0.1-alpha.1"; opts.ZeroPath = "/zero"; opts.TokenExpiration = TimeSpan.FromHours(3); }).Bind(configuration.GetSection("Zero")); services.AddTransient(factory => factory.GetService>().Value); services.AddOptions().Bind(configuration.GetSection("Zero:Features")); } }