24 lines
680 B
TypeScript
24 lines
680 B
TypeScript
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);
|
|
|
|
|
|
}
|