Files
aerbim-ht-monitor/frontend/app/api/cache-mesh-data/route.ts

42 lines
1.2 KiB
TypeScript

import { NextRequest, NextResponse } from 'next/server'
import { writeFile, mkdir } from 'fs/promises'
import { join } from 'path'
export async function POST(request: NextRequest) {
try {
const body = await request.json()
console.log('API: Received request with fileName:', body.fileName)
const { fileName, data } = body
const dataDir = join(process.cwd(), 'data')
const filePath = join(dataDir, fileName)
console.log('API: Writing to:', filePath)
try {
await mkdir(dataDir, { recursive: true })
console.log('API: Data directory created/verified')
} catch (error) {
console.log('API: Data directory already exists')
}
await writeFile(filePath, JSON.stringify(data, null, 2), 'utf8')
console.log('API: File written successfully')
return NextResponse.json({
success: true,
message: 'Mesh data cached successfully',
fileName
})
} catch (error) {
console.error('API: Error caching mesh data:', error)
return NextResponse.json(
{
success: false,
error: `Failed to cache mesh data: ${error}`
},
{ status: 500 }
)
}
}