using Elecciones.Database; using Microsoft.EntityFrameworkCore; var builder = WebApplication.CreateBuilder(args); // --- 1. Configuración de Servicios --- // Añade la cadena de conexión y el DbContext para Entity Framework Core. var connectionString = builder.Configuration.GetConnectionString("DefaultConnection"); builder.Services.AddDbContext(options => options.UseSqlServer(connectionString)); // Añade los servicios para los controladores de la API. builder.Services.AddControllers(); // Configura CORS para permitir que tu frontend (y www.eldia.com) consuman la API. builder.Services.AddCors(options => { options.AddDefaultPolicy(policy => { policy.WithOrigins("http://localhost:5173", "http://localhost:8600", "http://www.eldia.com", "http://elecciones2025.eldia.com") // Añade aquí los dominios que necesites .AllowAnyHeader() .AllowAnyMethod(); }); }); // Añade la configuración de Swagger/OpenAPI para la documentación de la API. builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); var app = builder.Build(); // --- 2. Configuración del Pipeline de Peticiones HTTP --- // Habilita la UI de Swagger en el entorno de desarrollo. if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } // Redirige las peticiones HTTP a HTTPS. app.UseHttpsRedirection(); // Usa la política de CORS que definimos arriba. app.UseCors(); // Habilita la autorización (lo configuraremos si es necesario más adelante). app.UseAuthorization(); // Mapea las rutas a los controladores de la API. app.MapControllers(); // Inicia la aplicación. app.Run();