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