export function validateDateParam()

in lambda/rest-endpoints/src/helpers.ts [18:35]


export function validateDateParam(dateParam: string): Date | null {
	const checker = /^(\d{4})-(\d{2})-(\d{2})$/;
	const parts = checker.exec(dateParam);

	if (!parts) {
		console.warn(`Provided date argument ${dateParam} is not valid `);
		throw new Error('Provided date was not valid');
	} else {
		const year = parseInt(parts[1]);
		if (year < 2024) throw new Error('Invalid year');
		const month = parseInt(parts[2]);
		if (month < 1 || month > 12) throw new Error('Invalid number of months');
		const day = parseInt(parts[3]);
		if (day < 1 || day > 31) throw new Error('Invalid number of days');

		return new Date(year, month - 1, day);
	}
}