deputy-timesheet/app/config.js

36 lines
791 B
JavaScript
Raw Normal View History

2023-03-14 18:29:01 +01:00
const fs = require('fs-extra');
const path = require('path');
const { app } = require('electron');
const userDataPath = app.getPath('userData');
const CONFIG_FILE_NAME = 'timesheet-config.json';
const configPath = path.join(userDataPath, CONFIG_FILE_NAME);
function initializeConfig() {
const initial = require('./config.json');
saveConfig(initial);
}
function saveConfig(config) {
console.log('Saving: ' + JSON.stringify(config));
fs.writeJSONSync(configPath, config, {
encoding: 'utf-8',
spaces: 2
});
}
function getConfig() {
if (!fs.existsSync(configPath)) {
initializeConfig();
}
const options = fs.readJSONSync(configPath, 'utf-8');
return options;
}
function setConfig(config) {
saveConfig(config);
}
module.exports = {
getConfig,
setConfig
};