Sudamericana: PDF Final a pdfkit + saca PDF muerto de ambos botones ganador - #13
Merged
Merged
Conversation
…anador Mismo cambio que se hizo para Libertadores, aplicado a Sudamericana: 1. POST /:jornadaNumero (Calcular Ganadores de jornada) generaba tambien el PDF Final completo con el motor viejo (Chromium) en cada calculo, pese a que ese PDF nunca se enviaba a ningun lado. Se saca esa generacion; el endpoint ahora solo calcula y guarda el ganador. 2. POST /acumulado (Calcular Ganador Ranking Acumulado) tenia el MISMO patron para J10: generaba el PDF Final y lo descartaba, mientras el mensaje de respuesta afirmaba falsamente 'PDF enviado por email'. Se saca tambien esa generacion. 3. El boton real de PDF Final (POST /:jornadaNumero/pdf-final) pasa a usar pdfkit en vez de html-pdf-node/Chromium, reusando server/utils/pdfFinal.js (el mismo renderer generico creado para Libertadores). Se reescribe generarPDFSudamericanaConGanadores preservando intactas todas las consultas SQL y la logica de clasificacion de cada jornada (J6 grupos, J7-J9 fases eliminatorias, J10 finalista/campeon/subcampeon via sudamericana_puntos_clasificacion). A diferencia de Libertadores, Sudamericana no filtra el partido FINAL de la tabla principal de pronosticos (asi funcionaba el original). Se actualiza el frontend (ClasificacionSudamericana.jsx) sacando la referencia a pdfGenerado en el mensaje de 'Calcular Ganadores' de jornada, que ya no existe en la respuesta. Probado localmente: generarPDFSudamericanaConGanadores completo con pool.query mockeado simulando J8 y J10 - ambos casos generan PDF valido sin errores, con el numero de queries esperado y el partido FINAL apareciendo en la tabla principal (a diferencia de Libertadores).
✅ Deploy Preview for pollafutbol ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Pull request overview
Este PR migra la generación del PDF Final de Copa Sudamericana desde el motor viejo basado en Chromium a pdfkit, y elimina generación de PDFs “muertos” que se calculaban pero no se enviaban/usarían, reduciendo consumo de memoria y CPU en producción.
Changes:
- Elimina la generación automática (y descartada) del PDF Final en los endpoints de cálculo de ganadores de jornada y de acumulado.
- Reescribe
generarPDFSudamericanaConGanadorespara generar el PDF Final usandogenerarPdfFinalBuffer(pdfkit). - Ajusta el frontend para dejar de mostrar mensajes/flags ligados a
pdfGeneradoen “Calcular Ganadores” de jornada.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| server/routes/ganadoresJornadaSudamericana.js | Quita generación de PDFs descartados y migra el PDF Final bajo demanda a pdfkit via generarPdfFinalBuffer. |
| client/src/pages/ClasificacionSudamericana.jsx | Elimina el texto/UI que dependía de pdfGenerado en el cálculo de ganadores de jornada. |
Suppressed comments (1)
server/routes/ganadoresJornadaSudamericana.js:12
- Los imports
fs,pathyfileURLToPath(y las constantes__filename/__dirname) quedaron sin uso en este archivo tras el cambio a pdfkit: no se usan para guardar/leer PDFs ni para resolver rutas. Conviene eliminarlos para evitar warnings de linter y reducir ruido.
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mismo cambio que se hizo para Libertadores (PR #12), aplicado a Sudamericana.
Cambio 1 y 2: se sacan DOS generaciones de PDF muertas
POST /:jornadaNumero(Calcular Ganadores de jornada): generaba el PDF Final completo con el motor viejo (Chromium) en cada cálculo, pese a que ese PDF nunca se enviaba a ningún lado. Se saca esa generación; el endpoint ahora solo calcula y guarda el ganador.POST /acumulado(Calcular Ganador Ranking Acumulado): tenía el mismo patrón para J10 — generaba el PDF Final y lo descartaba, mientras el mensaje de respuesta afirmaba falsamente "PDF enviado por email". Se saca también esa generación.Cambio 3: el botón real de PDF Final pasa a pdfkit
POST /:jornadaNumero/pdf-finalpasa a usar pdfkit, reusandoserver/utils/pdfFinal.js(el mismo renderer genérico creado para Libertadores en el PR anterior).Se reescribe
generarPDFSudamericanaConGanadorespreservando intactas todas las consultas SQL y la lógica de clasificación de cada jornada (J6 grupos, J7-J9 fases eliminatorias, J10 finalista/campeón/subcampeón víasudamericana_puntos_clasificacion). A diferencia de Libertadores, Sudamericana no filtra el partido FINAL de la tabla principal de pronósticos — así funcionaba el original, se preserva igual.Se actualiza el frontend (
ClasificacionSudamericana.jsx) sacando la referencia apdfGeneradoen el mensaje de "Calcular Ganadores" de jornada, que ya no existe en la respuesta.Pruebas
generarPDFSudamericanaConGanadorescompleto probado conpool.querymockeado simulando una jornada 8 y una jornada 10: ambos casos generan PDF válido sin errores, con el número de queries esperado y el partido FINAL apareciendo correctamente en la tabla principal (comportamiento distinto a Libertadores, verificado que se preservó).🤖 Generated with Claude Code
Generated by Claude Code