import { NextRequest } from "next/server";
import { fail, ok } from "@/server/http";
import { getDefaultWelcomePromotion, getWelcomePromotionByCode, serializeWelcomePromotion } from "@/server/bonus/welcome";

export const dynamic = "force-dynamic";

export async function GET(request: NextRequest) {
  try {
    const code = request.nextUrl.searchParams.get("code");
    const [sport, promo] = await Promise.all([
      getDefaultWelcomePromotion(),
      code ? getWelcomePromotionByCode(code) : Promise.resolve(null)
    ]);

    return ok({
      sport: sport ? serializeWelcomePromotion(sport) : null,
      promo: promo ? serializeWelcomePromotion(promo) : null
    });
  } catch (error) {
    return fail(error);
  }
}
