export default defineEventHandler(async (event) => { const { userId } = await readBody(event) const teamId: string = event.context.params ? event.context.params.id : '@current' if (teamId === '@current') { throw createError({ statusCode: 400, statusMessage: 'Cannot join your own team' }) } const user = await getUser(userId, event) if (user.team) { throw createError({ statusCode: 400, statusMessage: 'User already is in a team' }) } const team = await TeamModel.findByIdAndUpdate(teamId, { $addToSet: { members: user._id } }).populate('members') if (!team) { throw createError({ statusCode: 500, statusMessage: 'Team does not exist' }) } user.team = team._id user.teamInvites = [] await user.save() return team })