Throw errors if the setting isn't known
Signed-off-by: Travis Ralston <travpc@gmail.com>pull/21833/head
parent
257e1aabb8
commit
a8169a682c
|
@ -152,6 +152,11 @@ export default class SettingsStore {
|
||||||
* @returns {Promise} Resolves when the setting has been set.
|
* @returns {Promise} Resolves when the setting has been set.
|
||||||
*/
|
*/
|
||||||
static setFeatureEnabled(settingName, value) {
|
static setFeatureEnabled(settingName, value) {
|
||||||
|
// Verify that the setting is actually a setting
|
||||||
|
if (!SETTINGS[settingName]) {
|
||||||
|
throw new Error("Setting '" + settingName + "' does not appear to be a setting.");
|
||||||
|
}
|
||||||
|
|
||||||
return SettingsStore.setValue(settingName, null, "device", value);
|
return SettingsStore.setValue(settingName, null, "device", value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -180,6 +185,11 @@ export default class SettingsStore {
|
||||||
const minIndex = LEVEL_ORDER.indexOf(level);
|
const minIndex = LEVEL_ORDER.indexOf(level);
|
||||||
if (minIndex === -1) throw new Error("Level " + level + " is not prioritized");
|
if (minIndex === -1) throw new Error("Level " + level + " is not prioritized");
|
||||||
|
|
||||||
|
// Verify that the setting is actually a setting
|
||||||
|
if (!SETTINGS[settingName]) {
|
||||||
|
throw new Error("Setting '" + settingName + "' does not appear to be a setting.");
|
||||||
|
}
|
||||||
|
|
||||||
if (SettingsStore.isFeature(settingName)) {
|
if (SettingsStore.isFeature(settingName)) {
|
||||||
const configValue = SettingsStore._getFeatureState(settingName);
|
const configValue = SettingsStore._getFeatureState(settingName);
|
||||||
if (configValue === "enable") return true;
|
if (configValue === "enable") return true;
|
||||||
|
@ -219,6 +229,11 @@ export default class SettingsStore {
|
||||||
* @return {Promise} Resolves when the setting has been changed.
|
* @return {Promise} Resolves when the setting has been changed.
|
||||||
*/
|
*/
|
||||||
static setValue(settingName, roomId, level, value) {
|
static setValue(settingName, roomId, level, value) {
|
||||||
|
// Verify that the setting is actually a setting
|
||||||
|
if (!SETTINGS[settingName]) {
|
||||||
|
throw new Error("Setting '" + settingName + "' does not appear to be a setting.");
|
||||||
|
}
|
||||||
|
|
||||||
const handler = SettingsStore._getHandler(settingName, level);
|
const handler = SettingsStore._getHandler(settingName, level);
|
||||||
if (!handler) {
|
if (!handler) {
|
||||||
throw new Error("Setting " + settingName + " does not have a handler for " + level);
|
throw new Error("Setting " + settingName + " does not have a handler for " + level);
|
||||||
|
@ -242,6 +257,11 @@ export default class SettingsStore {
|
||||||
* @return {boolean} True if the user may set the setting, false otherwise.
|
* @return {boolean} True if the user may set the setting, false otherwise.
|
||||||
*/
|
*/
|
||||||
static canSetValue(settingName, roomId, level) {
|
static canSetValue(settingName, roomId, level) {
|
||||||
|
// Verify that the setting is actually a setting
|
||||||
|
if (!SETTINGS[settingName]) {
|
||||||
|
throw new Error("Setting '" + settingName + "' does not appear to be a setting.");
|
||||||
|
}
|
||||||
|
|
||||||
const handler = SettingsStore._getHandler(settingName, level);
|
const handler = SettingsStore._getHandler(settingName, level);
|
||||||
if (!handler) return false;
|
if (!handler) return false;
|
||||||
return handler.canSetValue(settingName, roomId);
|
return handler.canSetValue(settingName, roomId);
|
||||||
|
|
Loading…
Reference in New Issue