28 lines
842 B
TypeScript
28 lines
842 B
TypeScript
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!);
|
|
|
|
if (!success) {
|
|
const generation = await httpClient.fetchOne(httpClient.query('generations').Where('id', '=', generationId!));
|
|
if (generation !== null && generation.status === 'pending') {
|
|
await httpClient.update('generations', generationId!, {
|
|
status: 'cancelled',
|
|
});
|
|
return;
|
|
}
|
|
|
|
throw createError({
|
|
statusCode: 400,
|
|
message: 'Generation not found or already completed',
|
|
});
|
|
}
|
|
|
|
return;
|
|
});
|