From fe3a8dcd73520197b83e18f5e932100cac886621 Mon Sep 17 00:00:00 2001 From: Ionys <9364594+Ionys320@users.noreply.github.com> Date: Wed, 11 Jun 2025 12:06:11 +0200 Subject: [PATCH] fix(maintenance): Ensure the start/end date are valid. --- server/model/maintenance.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/model/maintenance.js b/server/model/maintenance.js index 22c946c10..9e6a218b4 100644 --- a/server/model/maintenance.js +++ b/server/model/maintenance.js @@ -158,14 +158,20 @@ class Maintenance extends BeanModel { bean.active = obj.active; if (obj.dateRange[0]) { - new Date(obj.dateRange[0]); // Ensure it's a valid date + const parsedDate = new Date(obj.dateRange[0]); + if (isNaN(parsedDate.getTime()) || parsedDate.getFullYear() > 9999) + throw new Error("Invalid start date"); + bean.start_date = obj.dateRange[0]; } else { bean.start_date = null; } if (obj.dateRange[1]) { - new Date(obj.dateRange[1]); // Ensure it's a valid date + const parsedDate = new Date(obj.dateRange[1]); + if (isNaN(parsedDate.getTime()) || parsedDate.getFullYear() > 9999) + throw new Error("Invalid end date"); + bean.end_date = obj.dateRange[1]; } else { bean.end_date = null;