2022-12-07 14:05:11 +01:00
|
|
|
using Microsoft.Extensions.Configuration;
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
using Microsoft.Extensions.Options;
|
|
|
|
|
|
2026-04-07 14:23:29 +02:00
|
|
|
namespace Finch.Configuration;
|
2022-12-07 14:05:11 +01:00
|
|
|
|
2026-04-07 14:23:29 +02:00
|
|
|
internal class FinchConfigurationModule : FinchModule
|
2022-12-07 14:05:11 +01:00
|
|
|
{
|
|
|
|
|
public override int Order => -1000;
|
|
|
|
|
|
|
|
|
|
public override void ConfigureServices(IServiceCollection services, IConfiguration configuration)
|
|
|
|
|
{
|
2026-04-07 14:23:29 +02:00
|
|
|
services.AddOptions<FinchOptions>().Configure<IServiceProvider>((opts, svc) =>
|
2022-12-07 14:05:11 +01:00
|
|
|
{
|
|
|
|
|
opts.ServiceProvider = svc;
|
|
|
|
|
opts.Version = "1.0.0-alpha.1";
|
|
|
|
|
opts.TokenExpiration = TimeSpan.FromHours(3);
|
2026-04-07 14:23:29 +02:00
|
|
|
}).Bind(configuration.GetSection("Finch"));
|
2022-12-07 14:05:11 +01:00
|
|
|
|
2026-04-07 14:23:29 +02:00
|
|
|
services.AddTransient<IFinchOptions, FinchOptions>(factory => factory.GetService<IOptions<FinchOptions>>().Value);
|
2022-12-07 14:05:11 +01:00
|
|
|
}
|
|
|
|
|
}
|