import { httpClient } from '~~/server/lib/triplit'; import { cancelPendingGeneration } from '~~/server/utils/generations'; export default defineEventHandler(async (event) => { await protectRoute(event); const { generationId } = event.context.params!; const success = cancelPendingGeneration(generationId!); const generation = await httpClient.fetchOne(httpClient.query('generations').Where('id', '=', generationId!)); if (generation !== null && generation.status === 'pending') { await httpClient.update('generations', generationId!, { status: 'cancelled', }); } if (!success) { throw createError({ statusCode: 400, message: 'Generation not found or already completed', }); } return 'ok'; });