Files
hrynco-notification-service/HrynCo.NotificationService.Web/Program.cs
T

35 lines
1.0 KiB
C#

using HrynCo.NotificationService.Web;
using HrynCo.NotificationService.DAL.EF;
using HrynCo.NotificationService.Services;
using Scalar.AspNetCore;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.AddSerilog();
AppSettings 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.AddControllersWithViews()
.AddRazorRuntimeCompilation();
builder.Services.AddNotificationDataAccess(appSettings.ConnectionString);
builder.Services.AddNotificationServices();
WebApplication app = builder.Build();
app.MapOpenApi();
app.MapScalarApiReference(options =>
{
options.Title = "HrynCo Notification Service";
options.Theme = ScalarTheme.DeepSpace;
});
app.UseStaticFiles();
app.UseHttpsRedirection();
app.MapGet("/", () => Results.Redirect("/admin/templates"));
app.MapControllers();
app.MapDefaultControllerRoute();
app.Run();