import { NextResponse } from "next/server"; import { getShippingOptions } from "@/lib/medusa"; import { isNonEmptyString, isValidMedusaId, badRequest } from "@/lib/apiUtils"; // GET /api/checkout/shipping-options?cartId=cart_xxx export async function GET(request: Request) { const { searchParams } = new URL(request.url); const cartId = searchParams.get("cartId"); if (!isNonEmptyString(cartId)) { return badRequest("Missing cartId"); } if (!isValidMedusaId(cartId)) { return badRequest("Invalid cart ID format"); } try { const options = await getShippingOptions(cartId); return NextResponse.json(options); } catch (e) { console.error("[checkout:shipping-options]", (e as Error).message); return NextResponse.json({ error: "Failed to fetch shipping options" }, { status: 500 }); } }