Merge pull request #594 from csduarte/bash-14
BASH-14 Set default server/team in settings
This commit is contained in:
commit
e46920ee9e
|
@ -1,6 +1,8 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
||||||
|
const path = require('path');
|
||||||
let deepmerge = require('deepmerge').default;
|
let deepmerge = require('deepmerge').default;
|
||||||
if (process.env.TEST) {
|
if (process.env.TEST) {
|
||||||
deepmerge = require('deepmerge'); // eslint-disable-line
|
deepmerge = require('deepmerge'); // eslint-disable-line
|
||||||
|
@ -14,7 +16,7 @@ function merge(base, target) {
|
||||||
return Object.assign({}, base, target);
|
return Object.assign({}, base, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
function deepMergeArray(dest) {
|
function deepMergeArray(source, dest) {
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +29,7 @@ function loadDefault(version, spellCheckerLocale) {
|
||||||
const base = baseConfig[ver] || baseConfig.default;
|
const base = baseConfig[ver] || baseConfig.default;
|
||||||
const override = overrideConfig[ver] || {};
|
const override = overrideConfig[ver] || {};
|
||||||
|
|
||||||
const defaults = deepmerge(base, override, {clone: true, arrayMerge: deepMergeArray});
|
const defaults = deepmerge(base, override, {arrayMerge: deepMergeArray});
|
||||||
|
|
||||||
return Object.assign(defaults, {
|
return Object.assign(defaults, {
|
||||||
spellCheckerLocale: spellCheckerLocale || defaults.spellCheckerLocale || 'en-US'
|
spellCheckerLocale: spellCheckerLocale || defaults.spellCheckerLocale || 'en-US'
|
||||||
|
@ -87,6 +89,12 @@ module.exports = {
|
||||||
if (config.version != settingsVersion) { // eslint-disable-line
|
if (config.version != settingsVersion) { // eslint-disable-line
|
||||||
throw new Error('version ' + config.version + ' is not equal to ' + settingsVersion);
|
throw new Error('version ' + config.version + ' is not equal to ' + settingsVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const dir = path.dirname(configFile);
|
||||||
|
if (!fs.existsSync(dir)) {
|
||||||
|
fs.mkdirSync(dir);
|
||||||
|
}
|
||||||
|
|
||||||
var data = JSON.stringify(config, null, ' ');
|
var data = JSON.stringify(config, null, ' ');
|
||||||
fs.writeFileSync(configFile, data, 'utf8');
|
fs.writeFileSync(configFile, data, 'utf8');
|
||||||
},
|
},
|
||||||
|
|
|
@ -71,6 +71,12 @@ try {
|
||||||
const spellCheckerLocale = SpellChecker.getSpellCheckerLocale(app.getLocale());
|
const spellCheckerLocale = SpellChecker.getSpellCheckerLocale(app.getLocale());
|
||||||
config = settings.loadDefault(null, spellCheckerLocale);
|
config = settings.loadDefault(null, spellCheckerLocale);
|
||||||
console.log('Failed to read or upgrade config.json', e);
|
console.log('Failed to read or upgrade config.json', e);
|
||||||
|
if (!config.teams.length && config.defaultTeam) {
|
||||||
|
config.teams.push(config.defaultTeam);
|
||||||
|
|
||||||
|
const configFile = app.getPath('userData') + '/config.json';
|
||||||
|
settings.writeFileSync(configFile, config);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ipcMain.on('update-config', () => {
|
ipcMain.on('update-config', () => {
|
||||||
|
|
Loading…
Reference in a new issue