Created appsettings class to pull from appsettings.json files

This commit is contained in:
Daniel Wathen
2023-01-17 15:25:20 -07:00
parent 7cde09d7b8
commit 94ea7502a3
14 changed files with 341 additions and 74 deletions

View File

@ -1,3 +1,4 @@
using ReportingServices.API.Models;
using ReportingServices.Shared.Repositories;
using Serilog;
@ -8,7 +9,9 @@ internal class Program
LoggerConfiguration loggerConfiguration = new();
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
Environment.SetEnvironmentVariable("workingDirectory", "D:\\tmp\\logging\\MesaReportingServices\\API");
_ = builder.Configuration.AddUserSecrets<Program>();
AppSettings appSettings = ReportingServices.API.Models.Binder.AppSettings.Get(builder.Configuration);
Environment.SetEnvironmentVariable("workingDirectory", appSettings.LoggingDirectory);
_ = loggerConfiguration.ReadFrom.Configuration(builder.Configuration);
_ = builder.Host.UseSerilog();
Log.Logger = loggerConfiguration.CreateLogger();
@ -18,7 +21,8 @@ internal class Program
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
_ = builder.Services.AddEndpointsApiExplorer();
_ = builder.Services.AddSwaggerGen();
_ = builder.Services.AddScoped<IScrapeDatabaseRepository, ScrapeDatabaseRepository>();
_ = builder.Services.AddSingleton(_ => appSettings);
_ = builder.Services.AddScoped<IScrapeDatabaseRepository, ScrapeDatabaseRepository>(_ => new(appSettings.ConnectionString));
WebApplication app = builder.Build();