feat(board-channels): skip Slack createChannel in dev/test mode

Mirrors the dev-mode short-circuit in invite.post.js. Without
SLACK_BOT_TOKEN, board-channel create returned 500 'Slack integration
not configured', breaking e2e in CI. With ALLOW_DEV_TEST_ENDPOINTS=true,
generate a stub channel ID and proceed; everything DB-side still runs.
This commit is contained in:
Jennie Robinson Faber 2026-05-01 10:13:21 +01:00
parent 6e98720310
commit 1578055a27

View file

@ -24,22 +24,27 @@ export default defineEventHandler(async (event) => {
let channelName = body.name let channelName = body.name
if (!slackChannelId) { if (!slackChannelId) {
const slack = getSlackAdminService() if (process.env.ALLOW_DEV_TEST_ENDPOINTS === 'true') {
if (!slack) { slackChannelId = `dev-stub-${Date.now()}`
throw createError({ console.log('[slack] DEV MODE — skipping createChannel', { name: body.name, slackChannelId })
statusCode: 500, } else {
statusMessage: 'Slack integration not configured', const slack = getSlackAdminService()
}) if (!slack) {
} throw createError({
try { statusCode: 500,
const created = await slack.createChannel(body.name) statusMessage: 'Slack integration not configured',
slackChannelId = created.id })
channelName = created.name }
} catch (err) { try {
throw createError({ const created = await slack.createChannel(body.name)
statusCode: 502, slackChannelId = created.id
statusMessage: `Failed to create Slack channel: ${err.data?.error || err.message}`, channelName = created.name
}) } catch (err) {
throw createError({
statusCode: 502,
statusMessage: `Failed to create Slack channel: ${err.data?.error || err.message}`,
})
}
} }
} }