import { protectRoute } from '~~/server/utils/auth'; import { registerPendingGeneration } from '~~/server/utils/generation'; import type { GenerateRequestBody } from '~~/server/types/chat'; export default defineEventHandler(async (event) => { await protectRoute(event); const body = await readBody(event) as GenerateRequestBody; const { topicId, messages } = body; if (!topicId || !messages) { throw createError({ statusCode: 400, statusMessage: 'Missing required fields: topicId and messages' }); } if (messages.length === 0) { throw createError({ statusCode: 400, statusMessage: 'Messages array cannot be empty' }); } const generationId = `gen_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`; registerPendingGeneration(event.context.user.id, generationId, topicId, messages); return { generationId, status: 'pending' }; });