feat: introduce AppSettings per application
- AppSettings class in Api and Worker with SectionName constant - appsettings.json: replaced ConnectionStrings section with App section - Program.cs: bind AppSettings at startup, register as singleton - Connection string now sourced from AppSettings.ConnectionString Ref: IT-628 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using HrynCo.NotificationService.Api;
|
||||
using HrynCo.NotificationService.DAL.EF;
|
||||
using HrynCo.NotificationService.Services;
|
||||
using Serilog;
|
||||
@@ -7,13 +8,14 @@ var builder = WebApplication.CreateBuilder(args);
|
||||
builder.Host.UseSerilog((context, lc) =>
|
||||
lc.ReadFrom.Configuration(context.Configuration));
|
||||
|
||||
var appSettings = builder.Configuration
|
||||
.GetSection(AppSettings.SectionName)
|
||||
.Get<AppSettings>() ?? throw new InvalidOperationException("App settings are not configured.");
|
||||
|
||||
builder.Services.AddSingleton(appSettings);
|
||||
builder.Services.AddOpenApi();
|
||||
builder.Services.AddControllers();
|
||||
|
||||
string connectionString = builder.Configuration.GetConnectionString("Default")
|
||||
?? throw new InvalidOperationException("Connection string 'Default' is not configured.");
|
||||
|
||||
builder.Services.AddNotificationDataAccess(connectionString);
|
||||
builder.Services.AddNotificationDataAccess(appSettings.ConnectionString);
|
||||
builder.Services.AddNotificationServices();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
Reference in New Issue
Block a user