Initial commit: Harheimer TC Website
- Vue 3 + Nuxt 3 Framework - Tailwind CSS Styling - Responsive Design mit schwarz-roten Vereinsfarben - Dynamische Galerie mit Lightbox - Event-Management über CSV-Dateien - Mannschaftsübersicht mit dynamischen Seiten - SMTP-Kontaktformular - Google Maps Integration - Mobile-optimierte Navigation mit Submenus - Trainer-Übersicht - Vereinsmeisterschaften, Spielsysteme, TT-Regeln - Impressum mit Datenschutzerklärung
This commit is contained in:
31
server/api/spielplaene.get.js
Normal file
31
server/api/spielplaene.get.js
Normal file
@@ -0,0 +1,31 @@
|
||||
import { promises as fs } from 'fs'
|
||||
import path from 'path'
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
try {
|
||||
const spielplaeneDir = path.join(process.cwd(), 'public', 'spielplaene')
|
||||
|
||||
// Prüfe, ob das Verzeichnis existiert
|
||||
try {
|
||||
await fs.access(spielplaeneDir)
|
||||
} catch {
|
||||
return []
|
||||
}
|
||||
|
||||
// Lese alle Dateien im Verzeichnis
|
||||
const dateien = await fs.readdir(spielplaeneDir)
|
||||
|
||||
// Filtere nur relevante Dateitypen
|
||||
const erlaubteExtensions = ['.pdf', '.xlsx', '.xls', '.doc', '.docx']
|
||||
const gefiltert = dateien.filter(datei => {
|
||||
const ext = path.extname(datei).toLowerCase()
|
||||
return erlaubteExtensions.includes(ext)
|
||||
})
|
||||
|
||||
return gefiltert
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Lesen der Spielpläne:', error)
|
||||
return []
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user