import { NextRequest, NextResponse } from "next/server"; import { getCurrentUser } from "@/lib/auth"; import { getTripById, updateTrip, deleteTrip } from "@/lib/queries"; export async function GET(req: NextRequest, { params }: { params: Promise<{ id: string }> }) { const user = await getCurrentUser(req); if (!user) return NextResponse.json({ error: "Forbidden" }, { status: 403 }); const { id } = await params; const trip = await getTripById(Number(id), user.id); if (!trip) return NextResponse.json({ error: "Not found" }, { status: 404 }); return NextResponse.json(trip); } export async function PATCH(req: NextRequest, { params }: { params: Promise<{ id: string }> }) { const user = await getCurrentUser(req); if (!user) return NextResponse.json({ error: "Forbidden" }, { status: 403 }); const { id } = await params; const body = await req.json(); const trip = await updateTrip(Number(id), user.id, body); if (!trip) return NextResponse.json({ error: "Not found" }, { status: 404 }); return NextResponse.json(trip); } export async function DELETE(req: NextRequest, { params }: { params: Promise<{ id: string }> }) { const user = await getCurrentUser(req); if (!user) return NextResponse.json({ error: "Forbidden" }, { status: 403 }); const { id } = await params; await deleteTrip(Number(id), user.id); return new NextResponse(null, { status: 204 }); }