// import { NextResponse } from "next/server";
// import Stripe from "stripe";
// import { createClient } from "@supabase/supabase-js";

// const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
// const supabase = createClient(process.env.SUPABASE_SERVICE_ROLE_KEY);

// export async function POST(request) {
//   try {
//     const { clientId, customerId } = await request.json();

//     const { data: userData, error: userError } = await supabase
//       .from("subscription_data")
//       .select("*")
//       .eq("customer_id", customerId)
//       .maybeSingle();

//     if (userError || !userData) {
//       return NextResponse.json(
//         { error: "subscription_data not found" },
//         { status: 404 }
//       );
//     }

//     const { subscription_cost } = userData;

//     // Create a new product and price
//     const product = await stripe.products.create({
//       name: "RankRunners Client Subscription",
//     });

//     const price = await stripe.prices.create({
//       product: product.id,
//       unit_amount: subscription_cost * 100,
//       currency: "usd",
//       recurring: { interval: "month" },
//     });

//     // Create a Checkout session
//     const session = await stripe.checkout.sessions.create({
//       customer: customerId,
//       payment_method_types: ["card"],
//       line_items: [
//         {
//           price: price.id,
//           quantity: 1,
//         },
//       ],
//       mode: "subscription",
//       success_url: `${process.env.NEXT_PUBLIC_URL}/client-area?session_id={CHECKOUT_SESSION_ID}`,
//       cancel_url: `${process.env.NEXT_PUBLIC_URL}/client-area`,
//     });

//     if (!session) {
//       return NextResponse.json(
//         { error: "Failed to create checkout session" },
//         { status: 500 }
//       );
//     }

//     // Save the session ID to Supabase
//     const { error: updateError } = await supabase
//       .from("subscription_data")
//       .update({ stripe_session_id: session.id })
//       .eq("customer_id", customerId);

//     if (updateError) {
//       console.error("Error updating stripe_session_id:", updateError);
//       return NextResponse.json(
//         {
//           error:
//             "Failed to update subscription data when creating checkout session",
//         },
//         { status: 500 }
//       );
//     }

//     return NextResponse.json({ url: session.url });
//   } catch (error) {
//     console.error("Error creating checkout session:", error);
//     return NextResponse.json({ error: error.message }, { status: 500 });
//   }
// }
