using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; namespace Finch.Configuration; internal class FinchConfigurationModule : FinchModule { public override int Order => -1000; public override void ConfigureServices(IServiceCollection services, IConfiguration configuration) { services.AddOptions().Configure((opts, svc) => { opts.ServiceProvider = svc; opts.Version = "1.0.0-alpha.1"; opts.TokenExpiration = TimeSpan.FromHours(3); }).Bind(configuration.GetSection("Finch")); services.AddTransient(factory => factory.GetService>().Value); } }