import { NextResponse } from 'next/server'
import { cancelPurchase } from '@/lib/data/purchases'
import { requirePurchaseOwner } from '@/lib/purchase-api'

/** Customer abandoned checkout; the cart selections are kept (task §13). */
export async function POST(_req: Request, ctx: { params: Promise<{ purchaseId: string }> }) {
  const { purchaseId } = await ctx.params
  const guard = await requirePurchaseOwner(purchaseId)
  if (!guard.ok) return guard.response
  await cancelPurchase(guard.bundle, { id: guard.user.id, label: guard.actorLabel })
  return NextResponse.json({ ok: true })
}
