import type { Logger } from "tslog"; import dayjs from "@calcom/dayjs"; import { HttpError } from "@calcom/lib/http-error"; type Props = { reqBodyStart: string; reqBodyEnd: string; eventTypeMultipleDuration?: number[]; eventTypeLength: number; logger: Logger; }; export const validateEventLength = ({ reqBodyStart, reqBodyEnd, eventTypeMultipleDuration, eventTypeLength, logger, }: Props) => { const reqEventLength = dayjs(reqBodyEnd).diff(dayjs(reqBodyStart), "minutes"); const validEventLengths = eventTypeMultipleDuration?.length ? eventTypeMultipleDuration : [eventTypeLength]; if (!validEventLengths.includes(reqEventLength)) { logger.warn({ message: "NewBooking: Invalid event length" }); throw new HttpError({ statusCode: 400, message: "Invalid event length" }); } };