export async function onRequestPost(context: RequestContext) { const { id } = context.data.body; if (!id) return new Response('{"error":"No ID provided"}', { headers: { "content-type": "application/json", }, status: 400, }); const user = await context.env.DATA.get(`reportprocessing_${id}`); if ( !user || (context.data.current_user ? user !== context.data.current_user.id : user !== context.request.headers.get("CF-Connecting-IP")) ) return new Response('{"error":"No report with that ID is processing"}', { headers: { "content-type": "application/json", }, status: 404, }); await context.env.DATA.delete(`reportprocessing_${id}`); const value = await context.env.DATA.get(`report_${id}`); if (!value) return new Response('{"error":"Report is missing"}', { headers: { "content-type": "application/json", }, status: 500, }); if (context.env.REPORTS_WEBHOOK) { await fetch(context.env.REPORTS_WEBHOOK, { body: JSON.stringify({ embeds: [ { title: "Report Submitted", color: 3756250, description: `View this report at https://carcrushers.cc/mod-queue?id=${id}&type=report`, }, ], }), headers: { "content-type": "application/json", }, method: "POST", }); } return new Response(null, { status: 204, }); }