Important Fixes, New mechanics, and many more
Some checks failed
CI / validate (push) Failing after 9m21s

This commit is contained in:
2026-08-15 17:37:57 +05:00
parent 1774496cf9
commit 438e5af0ad
56 changed files with 5090 additions and 119 deletions

View File

@@ -0,0 +1,26 @@
import { z } from 'zod'
import { requireCampaignAccess, requireStageTwoUser, stageTwoApiError, stageTwoDatabase, stageTwoUuid } from '~/server/utils/stage-two-supabase'
const BodySchema = z.object({ aiTakeoverAllowed: z.boolean() }).strict()
export default defineEventHandler(async (event) => {
try {
const user = await requireStageTwoUser(event)
const campaignId = stageTwoUuid(getRouterParam(event, 'id'), 'campaign id')
const memberId = stageTwoUuid(getRouterParam(event, 'memberId'), 'member id')
await requireCampaignAccess(campaignId, user.id, true)
const body = BodySchema.parse(await readBody(event))
const members = await stageTwoDatabase<Array<Record<string, unknown>>>(
`campaign_members?id=eq.${memberId}&campaign_id=eq.${campaignId}`,
{
method: 'PATCH',
prefer: 'return=representation',
body: JSON.stringify({ ai_takeover_allowed: body.aiTakeoverAllowed }),
},
)
if (!members[0]) throw createError({ statusCode: 404, statusMessage: 'Campaign member not found.' })
return { member: members[0] }
} catch (error) {
stageTwoApiError(error)
}
})