diff --git a/env.js b/env.js index 085277f695e..81a60a64876 100644 --- a/env.js +++ b/env.js @@ -136,8 +136,8 @@ function updateSettings() { //should always find extended settings last env.extendedSettings = findExtendedSettings(process.env); - if (!readENV('TREATMENTS_AUTH', true)) { - env.settings.authDefaultRoles = env.settings.authDefaultRoles || [ ]; + if (!readENVTruthy('TREATMENTS_AUTH', true)) { + env.settings.authDefaultRoles = env.settings.authDefaultRoles || ""; env.settings.authDefaultRoles += ' careportal'; } @@ -151,12 +151,17 @@ function readENV(varName, defaultValue) { || process.env[varName] || process.env[varName.toLowerCase()]; - if (typeof value === 'string' && (value.toLowerCase() === 'on' || value.toLowerCase() === 'true')) { value = true; } - if (typeof value === 'string' && (value.toLowerCase() === 'off' || value.toLowerCase() === 'false')) { value = false; } return value != null ? value : defaultValue; } +function readENVTruthy(varName, defaultValue) { + var value = readENV(varName, defaultValue); + if (typeof value === 'string' && (value.toLowerCase() === 'on' || value.toLowerCase() === 'true')) { value = true; } + if (typeof value === 'string' && (value.toLowerCase() === 'off' || value.toLowerCase() === 'false')) { value = false; } + return value; +} + function findExtendedSettings (envs) { var extended = {}; diff --git a/lib/settings.js b/lib/settings.js index fd77f3cbb26..554c3507a51 100644 --- a/lib/settings.js +++ b/lib/settings.js @@ -44,11 +44,18 @@ function init ( ) { }; var valueMappers = { - alarmUrgentHighMins: mapNumberArray + nightMode: mapTruthy + , alarmUrgentHigh: mapTruthy + , alarmUrgentHighMins: mapNumberArray + , alarmHigh: mapTruthy , alarmHighMins: mapNumberArray + , alarmLow: mapTruthy , alarmLowMins: mapNumberArray + , alarmUrgentLow: mapTruthy , alarmUrgentLowMins: mapNumberArray , alarmUrgentMins: mapNumberArray + , alarmTimeagoWarn: mapTruthy + , alarmTimeagoUrgent: mapTruthy , alarmWarnMins: mapNumberArray , timeFormat: mapNumber }; @@ -80,6 +87,12 @@ function init ( ) { } } + function mapTruthy (value) { + if (typeof value === 'string' && (value.toLowerCase() === 'on' || value.toLowerCase() === 'true')) { value = true; } + if (typeof value === 'string' && (value.toLowerCase() === 'off' || value.toLowerCase() === 'false')) { value = false; } + return value; + } + //TODO: getting sent in status.json, shouldn't be settings.DEFAULT_FEATURES = ['delta', 'direction', 'timeago', 'devicestatus', 'upbat', 'errorcodes', 'profile'];