import { deleteStageTwoCampaign, requireCampaignAccess, stageTwoApiError, stageTwoUuid } from '~/server/utils/stage-two-supabase' import { requireStageTwoUser } from '~/server/utils/stage-two-supabase' export default defineEventHandler(async (event) => { try { const user = await requireStageTwoUser(event) const campaignId = stageTwoUuid(event.context.params?.id ?? '') const { campaign, owner } = await requireCampaignAccess(campaignId, user.id, true) if (!owner) throw createError({ statusCode: 403, statusMessage: 'Only the campaign owner can delete it.' }) const worldId = stageTwoUuid(campaign.world_id, 'world id') await deleteStageTwoCampaign(campaignId, worldId) return { success: true } } catch (error) { stageTwoApiError(error) } })