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

export async function DELETE(_req: Request, ctx: { params: Promise<{ id: string; itemId: string }> }) {
  const { id, itemId } = await ctx.params
  const guard = await requireCartAccess(id)
  if (!guard.ok) return guard.response
  const cart = await removeCartItem({ trip: guard.trip, userId: guard.user.id, actorLabel: guard.actorLabel, itemId })
  if (!cart) return NextResponse.json({ error: 'Cart not found.' }, { status: 404 })
  return NextResponse.json({ ok: true, cart })
}
