import { insertLogs } from "../../../gcloud.js"; import { getBanList, setBanList } from "../../../roblox-open-cloud.js"; import { jsonError } from "../../../common.js"; export async function onRequestPost(context: RequestContext) { const { statsReduction } = context.data.body; if (statsReduction && typeof statsReduction !== "number") return jsonError("Invalid stat reduction", 400); const appeal = await context.env.DATA.get( `gameappeal_${context.params.id as string}`, ); if (!appeal) return jsonError("Appeal not found", 400); const data = JSON.parse(appeal); const banList = (await getBanList(context)) as { [k: string]: { BanType: number; Unbanned?: boolean; UnbanReduct?: number }; }; await context.env.DATA.delete(`gameappeal_${context.params.id as string}`); if (!banList[data.roblox_id]) return new Response(null, { status: 204, }); banList[data.roblox_id] = { BanType: 0, Unbanned: true, UnbanReduct: statsReduction, }; await insertLogs( { [data.roblox_id]: 4 }, context.params.id as string, context, ); await setBanList(context, banList); return new Response(null, { status: 204, }); }