Aktualisiere die Version auf 1.4.3, füge Validierung für Saison-Slugs hinzu und implementiere ein Logging-System für Fehler und Informationen
Some checks failed
Code Analysis and Production Deploy / analyze (push) Has been skipped
Code Analysis and Production Deploy / deploy-production (push) Has been skipped
Code Analysis and Production Deploy / deploy-test (push) Successful in 1m49s
Code Analysis and Production Deploy / analyze (pull_request) Failing after 2m37s
Code Analysis and Production Deploy / deploy-production (pull_request) Has been skipped
Code Analysis and Production Deploy / deploy-test (pull_request) Has been skipped
Require Package Version Change / check (pull_request) Failing after 8s
Some checks failed
Code Analysis and Production Deploy / analyze (push) Has been skipped
Code Analysis and Production Deploy / deploy-production (push) Has been skipped
Code Analysis and Production Deploy / deploy-test (push) Successful in 1m49s
Code Analysis and Production Deploy / analyze (pull_request) Failing after 2m37s
Code Analysis and Production Deploy / deploy-production (pull_request) Has been skipped
Code Analysis and Production Deploy / deploy-test (pull_request) Has been skipped
Require Package Version Change / check (pull_request) Failing after 8s
This commit is contained in:
@@ -1,11 +1,16 @@
|
||||
import fs from 'fs/promises'
|
||||
import path from 'path'
|
||||
import { readSpielplanData } from '../../utils/spielplan-data.js'
|
||||
import { readSpielplanData, validateSeasonSlug } from '../../utils/spielplan-data.js'
|
||||
import { info as loggerInfo, error as loggerError } from '../../utils/logger.js'
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
try {
|
||||
const query = getQuery(event)
|
||||
const team = query.team
|
||||
if (query.season && !validateSeasonSlug(query.season)) {
|
||||
loggerError('Ungueltiger Saison-Slug angefragt (PDF)', { season: query.season })
|
||||
throw createError({ statusCode: 400, statusMessage: 'Ungueltiger Saison-Slug' })
|
||||
}
|
||||
|
||||
if (!team) {
|
||||
throw createError({
|
||||
@@ -139,7 +144,7 @@ export default defineEventHandler(async (event) => {
|
||||
const hallenMap = new Map()
|
||||
|
||||
// Debug: Zeige verfügbare Spalten
|
||||
console.log('Verfügbare Spalten in gefilterten Daten:', Object.keys(filteredData[0] || {}))
|
||||
loggerInfo('Verfügbare Spalten in gefilterten Daten', { columns: Object.keys(filteredData[0] || {}) })
|
||||
|
||||
filteredData.forEach((row, index) => {
|
||||
// Suche Halle-Spalten mit verschiedenen möglichen Namen
|
||||
@@ -150,10 +155,9 @@ export default defineEventHandler(async (event) => {
|
||||
const heimMannschaft = row.HeimMannschaft || ''
|
||||
|
||||
// Debug: Zeige Halle-Daten für erste paar Zeilen
|
||||
if (index < 3) {
|
||||
// nosemgrep: javascript.lang.security.audit.unsafe-formatstring.unsafe-formatstring
|
||||
console.log(`Zeile ${index}: HalleName="${halleName}", HalleStrasse="${halleStrasse}", HallePLZ="${hallePLZ}", HalleOrt="${halleOrt}", HeimMannschaft="${heimMannschaft}"`)
|
||||
}
|
||||
if (index < 3) {
|
||||
loggerInfo('Spielplan-Zeile Halle-Daten', { index, halleName, halleStrasse, hallePLZ, halleOrt, heimMannschaft })
|
||||
}
|
||||
|
||||
if (halleName && halleStrasse && hallePLZ && halleOrt) {
|
||||
const halleKey = `${halleName}|${halleStrasse}|${hallePLZ}|${halleOrt}`
|
||||
@@ -173,7 +177,7 @@ export default defineEventHandler(async (event) => {
|
||||
})
|
||||
|
||||
const hallenListe = Array.from(hallenMap.values())
|
||||
console.log('Gefundene Hallen:', hallenListe.length, hallenListe)
|
||||
loggerInfo('Gefundene Hallen', { count: hallenListe.length, hallen: hallenListe })
|
||||
|
||||
// Generiere LaTeX-Code für PDF
|
||||
const teamName = team.replace(/_/g, ' ').replace(/\b\w/g, l => l.toUpperCase())
|
||||
@@ -323,7 +327,7 @@ ${hallenListe.map(halle => {
|
||||
await fs.unlink(tempTexFile.replace('.tex', '.log'))
|
||||
await fs.unlink(tempTexFile.replace('.tex', '.aux'))
|
||||
} catch (_error) {
|
||||
console.error('Fehler beim Löschen temporärer Dateien:', error)
|
||||
loggerError('Fehler beim Löschen temporärer Dateien:', { error: _error })
|
||||
}
|
||||
}, 5000)
|
||||
|
||||
@@ -343,7 +347,7 @@ ${hallenListe.map(halle => {
|
||||
return pdfBuffer
|
||||
|
||||
} catch (compileError) {
|
||||
console.error('LaTeX-Kompilierung fehlgeschlagen:', compileError)
|
||||
loggerError('LaTeX-Kompilierung fehlgeschlagen:', { error: compileError })
|
||||
|
||||
// Fallback: HTML-Response mit Fehlermeldung
|
||||
const errorHtml = `
|
||||
@@ -375,7 +379,7 @@ ${hallenListe.map(halle => {
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Generieren des Spielplans:', error)
|
||||
loggerError('Fehler beim Generieren des Spielplans:', { error })
|
||||
|
||||
if (error.statusCode) {
|
||||
throw error
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { getCurrentSeasonSlug, listSpielplanSeasons } from '../../utils/spielplan-data.js'
|
||||
import { error as loggerError } from '../../utils/logger.js'
|
||||
|
||||
export default defineEventHandler(async () => {
|
||||
try {
|
||||
@@ -13,7 +14,7 @@ export default defineEventHandler(async () => {
|
||||
defaultSeason
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Laden der Spielplan-Saisons:', error)
|
||||
loggerError('Fehler beim Laden der Spielplan-Saisons:', { error })
|
||||
return {
|
||||
success: false,
|
||||
seasons: [],
|
||||
|
||||
Reference in New Issue
Block a user