Commit Graph

20 Commits

Author SHA1 Message Date
316f49f25b feat(Worker): Adaptación integral para la API de Elecciones Nacionales
Este commit refactoriza por completo el sistema de recolección de datos para asegurar la compatibilidad con la nueva API nacional, pasando de un modelo de distrito único a uno multi-distrito.

Cambios principales:

- **Refactorización de `SondearResumenProvincialAsync`:**
  - Se elimina la dependencia del endpoint obsoleto `/getResumen`.
  - El método ahora itera sobre todas las provincias (`NivelId=10`) y categorías, utilizando `GetResultadosAsync` para obtener los datos agregados.

- **Expansión de `SondearResultadosMunicipalesAsync`:**
  - Se renombra a `SondearResultadosPorAmbitosAsync` para reflejar su nueva responsabilidad.
  - La lógica ahora sondea múltiples niveles jerárquicos (`NivelId` 10, 20, 30), capturando resultados detallados para Provincias, Secciones Electorales y Municipios.

- **Modificación del Modelo de Datos:**
  - Se añade la columna `CategoriaId` a la entidad y tabla `ResumenVoto`.
  - Se crea la migración de base de datos `AddCategoriaIdToResumenVoto` para aplicar el cambio.

- **Ajustes de Nulabilidad en API Service:**
  - Se actualizan las firmas de `GetResultadosAsync` en `IElectoralApiService` y `ElectoralApiService` para permitir que `seccionId` y `municipioId` sean nulables (`string?`), resolviendo errores de compilación CS8625.

- **Deshabilitación de Seeders de Ejemplo:**
  - Se introduce una bandera `generarDatosDeEjemplo` en `Program.cs` de la API, establecida en `false`, para prevenir la ejecución de código de simulación en entornos de producción o pruebas.
2025-10-14 16:00:55 -03:00
f88436def6 Fix Service 2025-08-23 11:20:10 -03:00
4fb2b87aa1 Retry Bancas 2025-08-20 18:02:17 -03:00
19b37f7320 Fix Goteo solo para Telegramas 2025-08-20 16:28:17 -03:00
7e1e487e83 Fix Solicitud de Token 2 2025-08-20 15:03:19 -03:00
9d5c2086c5 Feat Rate Limit para cuotear peticiones. 2025-08-20 14:17:25 -03:00
80a9855acd Fix getBancas 2025-08-19 18:33:54 -03:00
506ab37646 Fix Archivos Telegramas en Blanco 2025-08-19 14:23:51 -03:00
94bb7c4360 Feat/Fix: Paralelismo y Coreccion de lista. 2025-08-19 14:07:19 -03:00
b7c50576f4 Fix Cambios de optimizaciones 2025-08-19 09:37:13 -03:00
defb74fcd2 Fix bancas y telegramas 2025-08-18 17:47:11 -03:00
258add9305 Retry Con Cambios Importantes. 2025-08-17 20:08:38 -03:00
30f1e751b7 Fix 1330 2025-08-16 13:30:05 -03:00
2f4027de2f Fix 1200 2025-08-16 12:00:51 -03:00
5a211d93e5 Fix error de nombre 2025-08-16 11:47:10 -03:00
82b53c6c45 Fix ElectoralApiService categoriaId 2025-08-16 11:39:15 -03:00
b89c4c0b8b Fix catalogo y removido el fake de pruebas 2025-08-16 11:12:54 -03:00
9e8eea1c34 Fix 1037 2025-08-16 10:37:54 -03:00
bce5b1dcec Test Docker 2025-08-15 17:31:51 -03:00
1d58023113 Feat: Implementar API de resultados y widget de prueba dinámico con selector
API (Backend):
Se crea el endpoint GET /api/resultados/municipio/{id} para servir los resultados detallados de un municipio específico.
Se añade el endpoint GET /api/catalogos/municipios para poblar selectores en el frontend.
Se incluye un endpoint simulado GET /api/resultados/provincia/{id} para facilitar el desarrollo futuro del frontend.
Worker (Servicio de Ingesta):
La lógica de sondeo se ha hecho dinámica. Ahora consulta todos los municipios presentes en la base de datos en lugar de uno solo.
El servicio falso (FakeElectoralApiService) se ha mejorado para generar datos aleatorios para cualquier municipio solicitado.
Frontend (React):
Se crea el componente <MunicipioSelector /> que se carga con datos desde la nueva API de catálogos.
Se integra el selector en la página principal, permitiendo al usuario elegir un municipio.
El componente <MunicipioWidget /> ahora recibe el ID del municipio como una prop y muestra los datos del municipio seleccionado, actualizándose en tiempo real.
Configuración:
Se ajusta la política de CORS en la API para permitir peticiones desde el servidor de desarrollo de Vite (localhost:5173), solucionando errores de conexión en el entorno local.
2025-08-14 15:27:45 -03:00