From 284d9b2efc4534230181bebee42de56beb9c5f74 Mon Sep 17 00:00:00 2001 From: colin Date: Sun, 6 Nov 2022 00:38:17 -0700 Subject: [PATCH] getSetting: add an optional `scope` parameter settings are stored in 3 places: - login (.gpg file) - store (.browserpass-settings.json) - extension-level config (browser UI) but we don't want each setting to be settable everywhere, so scope allows one to control which of these 3 places to search for a given setting. --- src/helpers.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/helpers.js b/src/helpers.js index 7022124..597124f 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -32,10 +32,11 @@ const SettingScope = { * @param string key Setting key * @param object login Login object * @param object settings Settings object + * @param string scope SettingScope value to specify where to search for the setting (optional) * @return object Setting value */ -function getSetting(key, login, settings) { - if (typeof login.settings[key] !== "undefined") { +function getSetting(key, login, settings, scope = SettingScope.Login) { + if (scope === SettingScope.Login && typeof login.settings[key] !== "undefined") { return login.settings[key]; } if (typeof settings.stores[login.store.id].settings[key] !== "undefined") {