Files
splitt-the-bill/server/api/pots/[slug]/participants.post.ts
T
2026-07-01 15:43:18 +02:00

18 lines
582 B
TypeScript

import { useDb } from '../../../database/client'
import { participants } from '../../../database/schema'
export default defineEventHandler(async (event) => {
const slug = getRouterParam(event, 'slug')!
await getPotOrThrow(slug)
const body = await readBody(event)
const name = typeof body?.name === 'string' ? body.name.trim() : ''
if (!name) {
throw createError({ statusCode: 400, statusMessage: 'name is required' })
}
const db = useDb()
const [participant] = await db.insert(participants).values({ potSlug: slug, name }).returning()
return participant
})