using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; namespace Finch.FileStorage; internal class FinchFileStorageModule : FinchModule { public override void ConfigureServices(IServiceCollection services, IConfiguration configuration) { services.AddScoped(factory => new Paths(factory.GetService())); services.AddOptions().Bind(configuration.GetSection("Finch:FileSystem")).Configure(opts => { opts.FinchAssetsPath = "finch"; }); services.AddSingleton(svc => { IWebHostEnvironment env = svc.GetRequiredService(); return new(env.WebRootPath, null); }); } }