General settings (#28)

adding ui for general settings | adding 'working hours' as new feature
This commit is contained in:
Christian Kellner
2021-05-30 09:37:45 +02:00
committed by GitHub
parent 2899dfc20d
commit 97858b7539
18 changed files with 691 additions and 268 deletions

View File

@@ -8,4 +8,29 @@ function isOneOf(word, arr) {
return blacklist.test(word);
}
module.exports = { isOneOf };
function nullOrEmpty(val) {
return val == null || val.length === 0;
}
function timeStringToMs(timeString, now) {
const d = new Date(now);
const parts = timeString.split(':');
d.setHours(parts[0]);
d.setMinutes(parts[1]);
d.setSeconds(0);
return d.getTime();
}
function duringWorkingHoursOrNotSet(config, now) {
const { workingHours } = config;
if (workingHours == null || nullOrEmpty(workingHours.from) || nullOrEmpty(workingHours.to)) {
return true;
}
const toDate = timeStringToMs(workingHours.to, now);
const fromDate = timeStringToMs(workingHours.from, now);
return fromDate <= now && toDate >= now;
}
module.exports = { isOneOf, nullOrEmpty, duringWorkingHoursOrNotSet };