// backend/src/Titulares.Api/Program.cs using Titulares.Api.Data; using Titulares.Api.Hubs; // Añadir este using var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); // Añadimos nuestro repositorio personalizado builder.Services.AddSingleton(); // Añadimos la política de CORS builder.Services.AddCors(options => { options.AddPolicy("AllowReactApp", builder => { builder.WithOrigins("http://localhost:5173") .AllowAnyHeader() .AllowAnyMethod() .AllowCredentials(); }); }); builder.Services.AddSignalR(); // Añadimos los servicios de autorización (necesario para app.UseAuthorization) builder.Services.AddAuthorization(); // 2. Construir la aplicación. // ========================== var app = builder.Build(); // 3. Configurar el pipeline de peticiones HTTP. // ============================================ if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } // COMENTAMOS LA REDIRECCIÓN HTTPS PORQUE TRABAJAMOS CON HTTP // app.UseHttpsRedirection(); // 1. Activa el enrutamiento para que la app sepa a dónde va la petición. app.UseRouting(); // 2. APLICA LA POLÍTICA DE CORS. app.UseCors("AllowReactApp"); // 3. Usamos la autorización. app.UseAuthorization(); // 4. Mapeamos los endpoints (Controladores y Hubs). app.MapControllers(); app.MapHub("/titularesHub"); app.Run();