import { and, eq } from 'drizzle-orm'; import { useDb } from '~~/server/database/client'; import { expenseParticipants, expenses } from '~~/server/database/schema'; export default defineEventHandler(async (event) => { const slug = getRouterParam(event, 'slug')!; const id = Number(getRouterParam(event, 'id')); await getPotOrThrow(slug); const db = useDb(event); const [existing] = await db .select() .from(expenses) .where(and(eq(expenses.id, id), eq(expenses.potSlug, slug))); if (!existing) { throw createError({ statusCode: 404, statusMessage: 'Expense not found' }); } await db .delete(expenseParticipants) .where(eq(expenseParticipants.expenseId, id)); await db.delete(expenses).where(eq(expenses.id, id)); return { success: true }; });