import BoardChannel from '../../models/boardChannel.js' import { requireAdmin } from '../../utils/auth.js' import { validateBody } from '../../utils/validateBody.js' import { boardChannelCreateSchema } from '../../utils/schemas.js' export default defineEventHandler(async (event) => { await requireAdmin(event) const body = await validateBody(event, boardChannelCreateSchema) try { const channel = await BoardChannel.create({ name: body.name, slackChannelId: body.slackChannelId, tagSlugs: body.tagSlugs || [] }) setResponseStatus(event, 201) return { channel: channel.toObject() } } catch (err) { if (err.code === 11000) { throw createError({ statusCode: 409, statusMessage: 'A channel with that Slack channel ID already exists' }) } throw err } })