import { requireStageTwoUser, stageTwoApiError, stageTwoDatabase } from '~/server/utils/stage-two-supabase' export default defineEventHandler(async (event) => { try { const user = await requireStageTwoUser(event) const memberships = await stageTwoDatabase>( `campaign_members?select=campaign_id&user_id=eq.${user.id}&active=eq.true`, ) const filters = [`owner_id.eq.${user.id}`, ...memberships.map(item => `id.eq.${item.campaign_id}`)] const campaigns = await stageTwoDatabase>>( `campaigns?select=id,world_id,owner_id,title,current_scene,next_prompt,status,ruleset_version,created_at,updated_at&or=(${filters.join(',')})&order=updated_at.desc`, ) return { campaigns } } catch (error) { stageTwoApiError(error) } })