using Serilog; using SPMS.API.Extensions; using SPMS.Application; using SPMS.Infrastructure; var builder = WebApplication.CreateBuilder(new WebApplicationOptions { WebRootPath = Environment.GetEnvironmentVariable("ASPNETCORE_WEBROOT") ?? "wwwroot" }); // ===== 1. Serilog ===== builder.Host.UseSerilog((context, config) => config.ReadFrom.Configuration(context.Configuration)); // ===== 2. Services (DI) ===== builder.Services.AddApplication(); builder.Services.AddInfrastructure(builder.Configuration); // ===== 3. Presentation ===== builder.Services.AddControllers(); builder.Services.AddOpenApi(); builder.Services.AddJwtAuthentication(builder.Configuration); builder.Services.AddAuthorizationPolicies(); var app = builder.Build(); // ===== 4. Middleware Pipeline ===== app.UseMiddlewarePipeline(); app.Run();