import { eq } from 'drizzle-orm' import { useDB, schema } from '../../../utils/db.js' import { requireAdmin } from '../../../utils/auth.js' export default defineEventHandler(async (event) => { requireAdmin(event) const id = Number(getRouterParam(event, 'id')) const db = useDB() const item = db.select().from(schema.stories).where(eq(schema.stories.id, id)).get() if (!item) throw createError({ statusCode: 404, message: '故事不存在' }) return { ...item, tags: (() => { try { return JSON.parse(item.tags || '[]') } catch { return [] } })(), sections: (() => { try { return JSON.parse(item.sections || '[]') } catch { return [] } })(), keyMoments: (() => { try { return JSON.parse(item.keyMoments || '[]') } catch { return [] } })(), } })