2025-08-14 13:12:16 -03:00
using Elecciones.Database ;
using Microsoft.EntityFrameworkCore ;
2025-08-14 12:37:57 -03:00
var builder = WebApplication . CreateBuilder ( args ) ;
2025-08-14 13:12:16 -03:00
// --- 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 < EleccionesDbContext > ( 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 = >
{
2025-08-14 15:27:45 -03:00
policy . WithOrigins ( "http://localhost:5173" , "http://localhost:8600" , "http://www.eldia.com" , "http://elecciones2025.eldia.com" ) // Añade aquí los dominios que necesites
2025-08-14 13:12:16 -03:00
. AllowAnyHeader ( )
. AllowAnyMethod ( ) ;
} ) ;
} ) ;
// Añade la configuración de Swagger/OpenAPI para la documentación de la API.
builder . Services . AddEndpointsApiExplorer ( ) ;
builder . Services . AddSwaggerGen ( ) ;
2025-08-14 12:37:57 -03:00
var app = builder . Build ( ) ;
2025-08-14 13:12:16 -03:00
// --- 2. Configuración del Pipeline de Peticiones HTTP ---
// Habilita la UI de Swagger en el entorno de desarrollo.
2025-08-14 12:37:57 -03:00
if ( app . Environment . IsDevelopment ( ) )
{
2025-08-14 13:12:16 -03:00
app . UseSwagger ( ) ;
app . UseSwaggerUI ( ) ;
2025-08-14 12:37:57 -03:00
}
2025-08-14 13:12:16 -03:00
// Redirige las peticiones HTTP a HTTPS.
2025-08-14 12:37:57 -03:00
app . UseHttpsRedirection ( ) ;
2025-08-14 13:12:16 -03:00
// Usa la política de CORS que definimos arriba.
app . UseCors ( ) ;
2025-08-14 12:37:57 -03:00
2025-08-14 13:12:16 -03:00
// 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 ( ) ;