using Core.Dto.Settings; using Core.Interfaces; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; namespace Generator.DataSource; /// /// Provides some methods to load json objects from a json data source /// public class JsonLoader : IDataSourceLoader { private readonly IServiceCollection _services; private readonly IConfiguration _configuration; public JsonLoader(IServiceCollection services, IConfiguration configuration) { _services = services; _configuration = configuration; } /// /// Load data that can be found in appsettings.json /// public void LoadAppsettings() { _services.AddOptions().Bind(_configuration.GetSection("Environment")); _services.AddOptions().Bind(_configuration.GetSection("DefaultArguments")); _services.AddOptions().Bind(_configuration.GetSection("General")); _services.AddOptions().Bind(_configuration.GetSection("Publish")); _services.AddOptions().Bind(_configuration.GetSection("Credentials")); _services.AddOptions().Bind(_configuration.GetSection("DockerImages")); _services.AddOptions().Bind(_configuration.GetSection("Java")); _services.AddOptions().Bind(_configuration.GetSection("Dotnet")); _services.AddOptions().Bind(_configuration.GetSection("Javascript")); _services.AddOptions().Bind(_configuration.GetSection("OpenApi")); _services.AddOptions().Bind(_configuration.GetSection("Templates")); } }