import { docSchema, updateDoc } from '../../../utils/content'; import { requireAuthor } from '../../../utils/guard'; export default defineEventHandler(async (event) => { const user = await requireAuthor(event); const id = getRouterParam(event, 'id')!; const parsed = docSchema.safeParse(await readBody(event).catch(() => ({}))); if (!parsed.success) throw createError({ statusCode: 400, statusMessage: parsed.error.issues[0]?.message || 'Invalid doc' }); const result = await updateDoc(id, parsed.data, user); if (!result.ok) throw createError({ statusCode: result.error === 'Not found' ? 404 : 409, statusMessage: result.error }); return { id: result.id }; });