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.
This commit is contained in:
2022-11-06 00:38:17 -07:00
parent c796967226
commit 92060876c9

View File

@@ -32,10 +32,11 @@ module.exports = {
* @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") {