import fs from 'fs/promises' import path from 'path' export default defineEventHandler(async (event) => { try { const filename = getRouterParam(event, 'filename') if (!filename) { throw createError({ statusCode: 400, statusMessage: 'Dateiname fehlt' }) } // Erlaubte Dateinamen für Sicherheit const allowedFiles = [ 'spielplan_gesamt.pdf', 'spielplan_erwachsene.pdf', 'spielplan_nachwuchs.pdf', 'spielplan_erwachsene_1.pdf', 'spielplan_erwachsene_2.pdf', 'spielplan_erwachsene_3.pdf', 'spielplan_erwachsene_4.pdf', 'spielplan_erwachsene_5.pdf', 'spielplan_jugendmannschaft.pdf' ] // Prüfe ob es eine dynamische Mannschafts-PDF ist const isDynamicMannschaft = filename.startsWith('spielplan_') && filename.endsWith('.pdf') && !allowedFiles.includes(filename) if (!allowedFiles.includes(filename) && !isDynamicMannschaft) { throw createError({ statusCode: 403, statusMessage: 'Datei nicht erlaubt' }) } let filePath if (isDynamicMannschaft) { // Für dynamische Mannschafts-PDFs: Verwende Gesamt-Spielplan als Fallback // Hier könnte später ein PDF-Generator implementiert werden filePath = path.join(process.cwd(), 'public', 'documents', 'spielplaene', 'spielplan_gesamt.pdf') } else { // Für vordefinierte PDFs filePath = path.join(process.cwd(), 'public', 'documents', 'spielplaene', filename) } // Prüfe ob Datei existiert try { await fs.access(filePath) } catch (error) { // Fallback: Erstelle eine informative HTML-Seite const htmlContent = `