import { jsonError } from "../../../common.js"; export async function onRequestPost(context: RequestContext) { const { current_user: currentUser } = context.data; const targetId = context.params.id as string; if (targetId.search(/^\d{16,19}$/) === -1) return jsonError("Invalid target id", 400); await context.env.D1.prepare( "INSERT INTO appeal_bans (created_at, created_by, user) VALUES (?, ?, ?);", ) .bind(Date.now(), context.data.current_user.id, targetId) .run(); await fetch(context.env.APPEALS_WEBHOOK, { body: JSON.stringify({ embeds: [ { title: "User Blocked", color: 3756250, description: `User ${targetId} was blocked from the appeal form.`, fields: [ { name: "Moderator", value: `${currentUser.username} (${currentUser.id})`, }, ], }, ], }), headers: { "content-type": "application/json", }, method: "POST", }); return new Response(null, { status: 204, }); }