Files
splitt-the-bill/server/api/pots/[slug]/expenses/[id].delete.ts
T
anbraten 67727f96ab
tinyedge/deploy Deployed by TinyEdge
🐛 fix typecheck and cleanup imports
2026-08-07 12:57:45 +02:00

21 lines
748 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()
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 }
})