diff --git a/functions/api/events-team/events/new.ts b/functions/api/events-team/events/new.ts new file mode 100644 index 0000000..5f62a85 --- /dev/null +++ b/functions/api/events-team/events/new.ts @@ -0,0 +1,23 @@ +import { jsonError } from "../../../common.js"; + +export async function onRequestPost(context: RequestContext) { + const { day, details, type } = context.data.body; + const now = new Date(); + const currentMonth = now.getUTCMonth(); + const currentYear = now.getUTCFullYear(); + + if ( + typeof day !== "number" || + day < 1 || + // Last day of that month + day > new Date(currentYear, currentMonth, 0).getUTCDate() || + // Stop people sending weird decimal days + parseInt(day.toString()) !== day || + typeof details !== "string" || + !details.length || + !["fotd", "gamenight", "rotw", "qotd"].includes(type) + ) + return jsonError("Invalid body", 400); + + +}