26 lines
725 B
TypeScript
26 lines
725 B
TypeScript
import { readFileSync } from 'node:fs'
|
|
|
|
const dataFile = './server/data/events.json'
|
|
|
|
function cleanData(data) {
|
|
return data.map(item => {
|
|
const cleaned = { ...item }
|
|
if (cleaned._id?.$oid) {
|
|
cleaned.id = cleaned._id.$oid
|
|
delete cleaned._id
|
|
}
|
|
if (cleaned.start_date?.$date?.$numberLong) {
|
|
cleaned.start_date = new Date(parseInt(cleaned.start_date.$date.$numberLong)).toISOString()
|
|
}
|
|
if (cleaned.end_date?.$date?.$numberLong) {
|
|
cleaned.end_date = new Date(parseInt(cleaned.end_date.$date.$numberLong)).toISOString()
|
|
}
|
|
return cleaned
|
|
})
|
|
}
|
|
|
|
export default defineEventHandler(() => {
|
|
const raw = readFileSync(dataFile, 'utf-8')
|
|
return cleanData(JSON.parse(raw))
|
|
})
|