import { unlink } from 'node:fs/promises' import { join } from 'node:path' export default defineEventHandler(async (event) => { const path = getRouterParam(event, 'path') if (!path) { throw createError({ statusCode: 400, statusMessage: 'No path provided' }) } // Prevent path traversal if (path.includes('..')) { throw createError({ statusCode: 400, statusMessage: 'Invalid path' }) } const publicDir = join(process.cwd(), 'public') const filePath = join(publicDir, path) // Ensure file is within public dir if (!filePath.startsWith(publicDir)) { throw createError({ statusCode: 400, statusMessage: 'Invalid path' }) } try { await unlink(filePath) return { ok: true } } catch { throw createError({ statusCode: 404, statusMessage: 'File not found' }) } })