2025-10-28 11:33:28 -03:00
|
|
|
// backend/src/Titulares.Api/Program.cs
|
|
|
|
|
using Titulares.Api.Data;
|
|
|
|
|
|
|
|
|
|
var builder = WebApplication.CreateBuilder(args);
|
|
|
|
|
|
|
|
|
|
// 1. Añadir servicios al contenedor.
|
|
|
|
|
// ===================================
|
|
|
|
|
|
|
|
|
|
// Añadimos los servicios para los controladores API
|
|
|
|
|
builder.Services.AddControllers();
|
|
|
|
|
|
|
|
|
|
builder.Services.AddEndpointsApiExplorer();
|
|
|
|
|
builder.Services.AddSwaggerGen();
|
|
|
|
|
|
|
|
|
|
// Añadimos nuestro repositorio personalizado
|
|
|
|
|
builder.Services.AddSingleton<TitularRepositorio>();
|
|
|
|
|
|
|
|
|
|
// Añadimos los servicios de autorización (necesario para app.UseAuthorization)
|
|
|
|
|
builder.Services.AddAuthorization();
|
|
|
|
|
|
|
|
|
|
// Añadimos la política de CORS
|
|
|
|
|
builder.Services.AddCors(options =>
|
|
|
|
|
{
|
|
|
|
|
options.AddPolicy("AllowReactApp", builder =>
|
|
|
|
|
{
|
2025-10-28 11:45:51 -03:00
|
|
|
builder.WithOrigins("http://localhost:5174")
|
2025-10-28 11:33:28 -03:00
|
|
|
.AllowAnyHeader()
|
|
|
|
|
.AllowAnyMethod()
|
|
|
|
|
.AllowCredentials();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 2. Construir la aplicación.
|
|
|
|
|
// ==========================
|
|
|
|
|
var app = builder.Build();
|
|
|
|
|
|
|
|
|
|
// 3. Configurar el pipeline de peticiones HTTP.
|
|
|
|
|
// ============================================
|
|
|
|
|
|
|
|
|
|
if (app.Environment.IsDevelopment())
|
|
|
|
|
{
|
|
|
|
|
app.UseSwagger();
|
|
|
|
|
app.UseSwaggerUI();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
app.UseHttpsRedirection();
|
|
|
|
|
|
|
|
|
|
// Usamos la política de CORS que definimos
|
|
|
|
|
app.UseCors("AllowReactApp");
|
|
|
|
|
|
|
|
|
|
// Usamos la autorización
|
|
|
|
|
app.UseAuthorization();
|
|
|
|
|
|
|
|
|
|
// Mapeamos los controladores para que la API responda a las rutas
|
|
|
|
|
app.MapControllers();
|
|
|
|
|
|
|
|
|
|
app.Run();
|