import { NextRequest } from "next/server";
import { fail, ok, parseJson } from "@/server/http";
import { requireUser } from "@/server/security/auth";
import { betPlacementSchema, placeBet } from "@/server/sportsbook/bet-placement";

export async function POST(request: NextRequest) {
  try {
    const { user } = await requireUser(request);
    const input = await parseJson(request, betPlacementSchema);
    const ticket = await placeBet(user.id, input);
    return ok({ ticket });
  } catch (error) {
    return fail(error);
  }
}
