Files
splitt-the-bill/server/api/pots/[slug]/expenses/[id].delete.ts
T
anbraten cbe1b42f6e
tinyedge/deploy Deployed by TinyEdge
🐛 add env to useDb and apply prettier
2026-08-07 13:28:26 +02:00

26 lines
791 B
TypeScript

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 };
});