from cnxpdo import get_connection
import math

def obtener_descartados(request_data=None):
    conexion = None
    cursor = None
    
    # # Valores por defecto si no se envían parámetros
    # page = 1
    # page_size = 5
    
    # # Si se reciben parámetros, usarlos
    # if request_data:
    #     page = request_data.page or 1
    #     page_size = request_data.pageSize or 5
    
    try:
        conexion = get_connection()
        if conexion is None:
            return {"success": False, "message": "Error de conexión a la base de datos"}

        cursor = conexion.cursor(dictionary=True)

        # # Primero obtener el total de registros
        # count_query = "SELECT COUNT(*) as total FROM descartados_contactabilidad"
        # cursor.execute(count_query)
        # total_result = cursor.fetchone()
        # total_records = total_result['total'] if total_result else 0
        
        # # Calcular el offset para la paginación
        # offset = (page - 1) * page_size
        
        # Consulta con paginación
        query = """
            SELECT *
            FROM descartados_contactabilidad 
        """
        
        # cursor.execute(query, (page_size, offset))
        cursor.execute(query)
        result = cursor.fetchall()
        
        # # Calcular total de páginas
        # total_pages = math.ceil(total_records / page_size) if total_records > 0 else 1
        
        return {
            "success": True,
            "message": f"Se encontraron descartados",
            "data": result if result else [],
            # "totalRecords": total_records,
            # "totalPages": total_pages,
            # "currentPage": page
        }
    
    except Exception as e:
        return {
            "success": False,
            "message": f"Error: {str(e)}"
        }
    
    finally:
        if cursor:
            cursor.close()
        if conexion:
            conexion.close()