Files
harheimertc/server/api/spielplan.get.js
Torsten Schulz (local) 3586704cce
Some checks failed
Code Analysis and Production Deploy / analyze (push) Failing after 10m29s
Code Analysis and Production Deploy / deploy-production (push) Has been skipped
Code Analysis and Production Deploy / deploy-test (push) Has been skipped
Update file permissions for multiple server and test files to executable mode
2026-07-15 08:45:12 +02:00

50 lines
1.3 KiB
JavaScript
Executable File

import { listSpielplanSeasons, readSpielplanData, validateSeasonSlug } from '../utils/spielplan-data.js'
import { error as loggerError } from '../utils/logger.js'
export default defineEventHandler(async (event) => {
try {
const query = getQuery(event)
if (query.season && !validateSeasonSlug(query.season)) {
loggerError('Ungueltiger Saison-Slug angefragt', { season: query.season })
return {
success: false,
message: 'Ungueltiger Saison-Slug',
data: [],
headers: []
}
}
const [spielplan, seasons] = await Promise.all([
readSpielplanData({ season: query.season }),
listSpielplanSeasons()
])
if (!spielplan.data.length || !spielplan.headers.length) {
return {
success: false,
message: 'Spielplan-Datei nicht gefunden oder leer',
data: [],
headers: []
}
}
return {
success: true,
message: 'Spielplan erfolgreich geladen',
data: spielplan.data,
headers: spielplan.headers,
source: spielplan.source,
filePath: spielplan.filePath,
season: spielplan.season,
seasons
}
} catch (error) {
loggerError('Fehler beim Laden des Spielplans:', { error })
return {
success: false,
message: 'Fehler beim Laden des Spielplans',
data: [],
headers: []
}
}
})