import { jsonError } from "../../common.js"; export default function ( selectedDepartments: string[], end: any, reason: any, start: any, userDepartments?: string[], ): void | Response { if (!userDepartments) return jsonError("Not part of any departments", 403); if ( !Array.isArray(selectedDepartments) || !selectedDepartments.length || typeof end !== "string" || typeof reason !== "string" || typeof start !== "string" ) return jsonError("Invalid notice", 400); if (!selectedDepartments.every((dept) => userDepartments.includes(dept))) return jsonError( "Cannot file an inactivity notice in a department you are not part of", 403, ); const endDate = new Date(end); const now = new Date(); const startDate = new Date(start); if ( isNaN(endDate.getFullYear()) || isNaN(startDate.getFullYear()) || endDate.getFullYear() < now.getFullYear() || endDate.getFullYear() > now.getFullYear() + 1 || startDate.getFullYear() < now.getFullYear() || startDate.getFullYear() > now.getFullYear() + 1 || endDate.valueOf() < startDate.valueOf() ) return jsonError("Dates are invalid", 400); }