using Events.FilesAPI.Features.Certificates; using Events.FilesAPI.Features.RegistrationsExcel; using Events.FilesAPI.Infrastructure.Messaging; using Events.FilesAPI.Infrastructure.Options; using Events.WebAPI.Handlers.EF.Data.Postgres; using MediatR; using Microsoft.EntityFrameworkCore; var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); builder.Services.AddDbContext(options => options.UseNpgsql(builder.Configuration.GetConnectionString("EventDB"))); builder.Services.AddOptions() .Bind(builder.Configuration.GetSection("Paths")) .ValidateDataAnnotations() .Validate( settings => !string.IsNullOrWhiteSpace(settings.OutputPath), "GeneratedFilesOptions:OutputPath must be configured.") .ValidateOnStart(); builder.Services.AddMediatR(cfg => cfg.RegisterServicesFromAssembly(typeof(Program).Assembly)); builder.Services.SetupMassTransit(builder.Configuration); var app = builder.Build(); app.MapControllers(); app.Run();