import { requireAuth } from "@/lib/jwt"; import { sql } from "@/lib/db"; export async function POST(request: Request) { const auth = requireAuth(request); if ("error" in auth) return auth.error; try { const body = await request.json(); const { origin_address, destination_address, origin_latitude, origin_longitude, destination_latitude, destination_longitude, ride_time, fare_price, payment_status, driver_id, } = body; if ( !origin_address || !destination_address || !origin_latitude || !origin_longitude || !destination_latitude || !destination_longitude || !ride_time || !fare_price || !payment_status || !driver_id ) { return Response.json( { error: "Missing required fields" }, { status: 400 }, ); } const response = await sql` INSERT INTO rides ( origin_address, destination_address, origin_latitude, origin_longitude, destination_latitude, destination_longitude, ride_time, fare_price, payment_status, driver_id, user_id ) VALUES ( ${origin_address}, ${destination_address}, ${origin_latitude}, ${origin_longitude}, ${destination_latitude}, ${destination_longitude}, ${ride_time}, ${fare_price}, ${payment_status}, ${driver_id}, ${auth.userId} ) RETURNING *; `; return Response.json({ data: response[0] }, { status: 201 }); } catch (error) { console.error("[CREATE_RIDES]: ", error); return Response.json({ error: "Internal Server Error" }, { status: 500 }); } }