using HrynCo.NotificationService.Web; using HrynCo.NotificationService.DAL.EF; using HrynCo.NotificationService.Services; using Scalar.AspNetCore; var builder = WebApplication.CreateBuilder(args); builder.AddSerilog(); var appSettings = builder.Configuration .GetSection(AppSettings.SectionName) .Get() ?? throw new InvalidOperationException("App settings are not configured."); builder.Services.AddSingleton(appSettings); builder.Services.AddOpenApi(); builder.Services.AddControllersWithViews(); builder.Services.AddNotificationDataAccess(appSettings.ConnectionString); builder.Services.AddNotificationServices(); var app = builder.Build(); if (app.Environment.IsDevelopment()) { 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();