Refactor CSV data loading in 'vereinsmeisterschaften.vue' and 'cms/vereinsmeisterschaften.vue' to utilize API endpoints instead of static files, addressing cache issues. Update debugging logs to reflect new data source and improve response header logging for better traceability.

This commit is contained in:
Torsten Schulz (local)
2025-11-14 22:37:37 +01:00
parent 1c8ccbb92c
commit 125ca6d7ce
3 changed files with 47 additions and 6 deletions

View File

@@ -0,0 +1,40 @@
import { promises as fs } from 'fs'
import path from 'path'
export default defineEventHandler(async (event) => {
try {
const cwd = process.cwd()
// In production (.output/server), working dir is .output
let csvPath
if (cwd.endsWith('.output')) {
csvPath = path.join(cwd, '../public/data/vereinsmeisterschaften.csv')
} else {
csvPath = path.join(cwd, 'public/data/vereinsmeisterschaften.csv')
}
// CSV-Datei direkt als Text zurückgeben (keine Caching-Probleme)
const csv = await fs.readFile(csvPath, 'utf-8')
// Setze Content-Type und Cache-Control Header
setHeader(event, 'Content-Type', 'text/csv; charset=utf-8')
setHeader(event, 'Cache-Control', 'no-cache, no-store, must-revalidate')
setHeader(event, 'Pragma', 'no-cache')
setHeader(event, 'Expires', '0')
return csv
} catch (error) {
if (error.code === 'ENOENT') {
throw createError({
statusCode: 404,
statusMessage: 'Vereinsmeisterschaften-Datei nicht gefunden'
})
}
console.error('Fehler beim Laden der Vereinsmeisterschaften:', error)
throw createError({
statusCode: 500,
statusMessage: 'Fehler beim Laden der Vereinsmeisterschaften'
})
}
})