import { jsonError, jsonResponse } from "../../common.js";
import precheck from "./precheck.js";

export async function onRequestPost(context: RequestContext) {
  if (
    context.request.headers.get("rbx-auth") !==
    context.env.ROBLOX_APPEALS_TOKEN
  )
    return jsonError("Unauthorized", 401);

  const { id }: { id: any } = context.data.body;

  if (typeof id !== "number") return jsonError("Invalid user id", 400);

  const precheckData = await precheck(context, id);

  if (precheckData.error) return jsonError(precheckData.error, 500);

  const { can_appeal, reason } = precheckData;

  return jsonResponse(JSON.stringify({ can_appeal, reason }));
}