// src/apiService.ts import axios from 'axios'; import type { MunicipioSimple, MunicipioDetalle, ResumenProvincial, ProyeccionBancas } from './types'; // La URL base de tu API. En un proyecto real, esto iría en un archivo .env const API_BASE_URL = 'http://localhost:5217/api'; // Ajusta el puerto si es necesario const apiClient = axios.create({ baseURL: API_BASE_URL, headers: { 'Content-Type': 'application/json', }, }); /** * Obtiene los resultados para colorear el mapa inicial. */ export const getResultadosParaMapa = async (): Promise => { // Usamos any[] temporalmente const response = await apiClient.get('/resultados/mapa'); // Mapeamos la respuesta para que coincida con lo que el frontend espera return response.data.map((item: any) => ({ municipioId: item.partidoId, // La propiedad en el frontend se llama municipioId agrupacionGanadoraId: item.agrupacionGanadoraId, })); }; /** * Obtiene la lista de todos los municipios con sus IDs y nombres. */ export const getMunicipios = async (): Promise => { const response = await apiClient.get('/catalogos/municipios'); return response.data; }; /** * Obtiene el detalle completo de los resultados para un municipio específico. */ export const getDetallePorMunicipio = async (partidoId: string): Promise => { const response = await apiClient.get(`/resultados/partido/${partidoId}`); return response.data; }; /** * Obtiene el resumen de resultados a nivel provincial. * El distritoId para la PBA es "02" según la estructura de la API. */ export const getResumenProvincial = async (): Promise => { // Hardcodeamos el distritoId '02' para Buenos Aires const response = await apiClient.get('/resultados/provincia/02'); return response.data; }; export const getBancasPorSeccion = async (seccionId: string): Promise => { const response = await apiClient.get(`/resultados/bancas/${seccionId}`); return response.data; };