34 lines
824 B
TypeScript
34 lines
824 B
TypeScript
import { readFileSync } from 'node:fs'
|
|
|
|
const dataFile = './server/data/album_art.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.chunkSize?.$numberLong) {
|
|
cleaned.chunkSize = parseInt(cleaned.chunkSize.$numberLong)
|
|
}
|
|
|
|
if (cleaned.uploadDate?.$date?.$numberLong) {
|
|
cleaned.uploadDate = new Date(parseInt(cleaned.uploadDate.$date.$numberLong)).toISOString()
|
|
}
|
|
|
|
if (cleaned.length?.$numberLong) {
|
|
cleaned.length = parseInt(cleaned.length.$numberLong)
|
|
}
|
|
|
|
return cleaned
|
|
})
|
|
}
|
|
|
|
export default defineEventHandler(() => {
|
|
const raw = readFileSync(dataFile, 'utf-8')
|
|
return cleanData(JSON.parse(raw))
|
|
})
|