Fix loading store settings when "configure" failed (#97)
This commit is contained in:
@@ -395,37 +395,41 @@ async function getFullSettings() {
|
|||||||
settings.hostError = response;
|
settings.hostError = response;
|
||||||
}
|
}
|
||||||
settings.version = response.version;
|
settings.version = response.version;
|
||||||
if (Object.keys(settings.stores).length > 0) {
|
|
||||||
// there are user-configured stores present
|
// Fill store settings, only makes sense if 'configure' succeeded
|
||||||
for (var storeId in settings.stores) {
|
if (response.status === "ok") {
|
||||||
if (response.data.storeSettings.hasOwnProperty(storeId)) {
|
if (Object.keys(settings.stores).length > 0) {
|
||||||
var fileSettings = JSON.parse(response.data.storeSettings[storeId]);
|
// there are user-configured stores present
|
||||||
if (typeof settings.stores[storeId].settings !== "object") {
|
for (var storeId in settings.stores) {
|
||||||
settings.stores[storeId].settings = {};
|
if (response.data.storeSettings.hasOwnProperty(storeId)) {
|
||||||
}
|
var fileSettings = JSON.parse(response.data.storeSettings[storeId]);
|
||||||
var storeSettings = settings.stores[storeId].settings;
|
if (typeof settings.stores[storeId].settings !== "object") {
|
||||||
for (var settingKey in fileSettings) {
|
settings.stores[storeId].settings = {};
|
||||||
if (!storeSettings.hasOwnProperty(settingKey)) {
|
}
|
||||||
storeSettings[settingKey] = fileSettings[settingKey];
|
var storeSettings = settings.stores[storeId].settings;
|
||||||
|
for (var settingKey in fileSettings) {
|
||||||
|
if (!storeSettings.hasOwnProperty(settingKey)) {
|
||||||
|
storeSettings[settingKey] = fileSettings[settingKey];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
} else if (response.status == "ok") {
|
// no user-configured stores, so use the default store
|
||||||
// no user-configured stores, so use the default store
|
settings.stores.default = {
|
||||||
settings.stores.default = {
|
id: "default",
|
||||||
id: "default",
|
name: "pass",
|
||||||
name: "pass",
|
path: response.data.defaultStore.path
|
||||||
path: response.data.defaultStore.path
|
};
|
||||||
};
|
var fileSettings = JSON.parse(response.data.defaultStore.settings);
|
||||||
var fileSettings = JSON.parse(response.data.defaultStore.settings);
|
if (typeof settings.stores.default.settings !== "object") {
|
||||||
if (typeof settings.stores.default.settings !== "object") {
|
settings.stores.default.settings = {};
|
||||||
settings.stores.default.settings = {};
|
}
|
||||||
}
|
var storeSettings = settings.stores.default.settings;
|
||||||
var storeSettings = settings.stores.default.settings;
|
for (var settingKey in fileSettings) {
|
||||||
for (var settingKey in fileSettings) {
|
if (!storeSettings.hasOwnProperty(settingKey)) {
|
||||||
if (!storeSettings.hasOwnProperty(settingKey)) {
|
storeSettings[settingKey] = fileSettings[settingKey];
|
||||||
storeSettings[settingKey] = fileSettings[settingKey];
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user