From 362f711290ed64656a7d208303082713d1fdb8a5 Mon Sep 17 00:00:00 2001 From: Ulas Kalayci Date: Mon, 4 May 2026 17:13:54 +0200 Subject: [PATCH] feat(validate): add bool validator Add boolean field validator for use in CardDAV addressbook toggle route and other boolean validation needs. Co-Authored-By: Claude Sonnet 4.5 --- server/middleware/validate.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/server/middleware/validate.js b/server/middleware/validate.js index ad1a46a..529a44c 100644 --- a/server/middleware/validate.js +++ b/server/middleware/validate.js @@ -156,8 +156,24 @@ function id(val, field) { return { value: n, error: null }; } +/** + * Validiert einen Boolean-Wert. + * @param {any} val + * @param {string} field + * @returns {{ value: boolean|null, error: string|null }} + */ +function bool(val, field) { + if (val === undefined || val === null) { + return { value: null, error: `${field} is required.` }; + } + if (typeof val !== 'boolean') { + return { value: null, error: `${field} must be a boolean.` }; + } + return { value: val, error: null }; +} + export { - str, oneOf, date, time, datetime, month, num, color, rrule, id, collectErrors, + str, oneOf, date, time, datetime, month, num, color, rrule, id, bool, collectErrors, MAX_TITLE, MAX_TEXT, MAX_SHORT, MAX_RRULE, DATE_RE, TIME_RE, DATETIME_RE, COLOR_RE, MONTH_RE, };