import { NextRequest } from "next/server";
import { fail, ok } from "@/server/http";
import { claimPresenceJackpot, getPresenceJackpotSnapshot } from "@/server/promotions/presence-jackpot";
import { requireUser } from "@/server/security/auth";

export const dynamic = "force-dynamic";

export async function POST(request: NextRequest) {
  try {
    const { user } = await requireUser(request);
    const result = await claimPresenceJackpot(user.id);
    const snapshot = await getPresenceJackpotSnapshot(user.id);
    return ok({ ...result, snapshot });
  } catch (error) {
    return fail(error);
  }
}
