Fix loading store settings when "configure" failed (#97)

This commit is contained in:
Maxim Baz
2019-04-13 19:32:58 +02:00
committed by GitHub
parent 2ad7675c8b
commit a1106ee381

View File

@@ -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]; }
} }
} }
} }