import { protectRoute } from '~~/server/utils/auth'; import { getGenerationStatus } from '~~/server/utils/generation'; import type { GenerationStatusResponse } from '~~/server/types/chat'; export default defineEventHandler(async (event) => { await protectRoute(event); const generationId = getRouterParam(event, 'id'); if (!generationId) { throw createError({ statusCode: 400, statusMessage: 'Missing generation ID' }); } const generation = await getGenerationStatus(generationId); if (!generation) { throw createError({ statusCode: 404, statusMessage: 'Generation not found' }); } // Verify ownership if (generation.userId !== event.context.user.id) { throw createError({ statusCode: 403, statusMessage: 'Unauthorized' }); } const status: GenerationStatusResponse = { generationId, status: generation.status as any, topicId: generation.topicId, content: generation.content, error: generation.error || undefined }; return status; });