From 8164ca2bfe933b2232e3dc00501643f4e3cfff5c Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Mon, 11 Nov 2024 12:17:19 +0800 Subject: [PATCH] Add validations for status page --- Server/validation/joi.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Server/validation/joi.js b/Server/validation/joi.js index 06804975e..07521c7e0 100644 --- a/Server/validation/joi.js +++ b/Server/validation/joi.js @@ -410,6 +410,32 @@ const updateAppSettingsBodyValidation = joi.object({ systemEmailPassword: joi.string().allow(""), }); +//**************************************** +// Status Page Validation +//**************************************** + +const getStatusPageParamValidation = joi.object({ + url: joi.string().required(), +}); + +const createStatusPageBodyValidation = joi.object({ + companyName: joi.string().required(), + url: joi.string().required(), + timezone: joi.string().required(), + color: joi.string().required(), + theme: joi.string().required(), + monitors: joi + .array() + .items(joi.string().pattern(/^[0-9a-fA-F]{24}$/)) + .required() + .messages({ + "string.pattern.base": "Must be a valid monitor ID", + "array.base": "Monitors must be an array", + "array.empty": "At least one monitor is required", + "any.required": "Monitors are required", + }), +}); + export { roleValidatior, loginValidation, @@ -465,4 +491,6 @@ export { editMaintenanceWindowByIdParamValidation, editMaintenanceByIdWindowBodyValidation, updateAppSettingsBodyValidation, + createStatusPageBodyValidation, + getStatusPageParamValidation, };