Files
Avtex/app/server/api/groups/index.post.ts
T

30 lines
666 B
TypeScript

import { requireAuth } from '~/server/utils/auth'
import { prisma } from '~/server/utils/prisma'
export default defineEventHandler(async (event) => {
const user = requireAuth(event)
const body = await readBody(event)
const { name, description = '', isPublic = true } = body
if (!name?.trim()) {
throw createError({ statusCode: 400, message: 'Group name is required' })
}
const group = await prisma.group.create({
data: {
name: name.trim(),
description,
isPublic,
ownerId: user.id,
members: {
create: {
userId: user.id,
role: 'admin'
}
}
}
})
return { group }
})