Files
Dungeons-Ground/apps/web/server/api/v1/campaigns/[id].delete.ts
pavel444-byte 4cd0b7b390
Some checks failed
CI / validate (push) Has been cancelled
fix(campaigns): delete universes in dependency order
Co-authored-by: multica-agent <github@multica.ai>
2026-09-02 10:42:59 +05:00

18 lines
784 B
TypeScript

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)
}
})