diff options
author | Rafael Marçalo <raroma09@gmail.com> | 2022-10-29 14:51:03 +0100 |
---|---|---|
committer | Rafael Marçalo <raroma09@gmail.com> | 2022-10-29 14:51:03 +0100 |
commit | 5d6081e34777c8b99a3e9f2ed42a6de0732a4ff3 (patch) | |
tree | 2c64156dff1a1c3f2062d0a0ef156190b831a5fd /server | |
parent | 48591e37a58d5349214e0bfee9f76e201d45e7bf (diff) |
Added config file handling functionality
Diffstat (limited to 'server')
-rw-r--r-- | server/js/config.js | 32 | ||||
-rw-r--r-- | server/js/paths.js | 2 |
2 files changed, 20 insertions, 14 deletions
diff --git a/server/js/config.js b/server/js/config.js index 077f928..b1e6836 100644 --- a/server/js/config.js +++ b/server/js/config.js @@ -1,28 +1,34 @@ "use strict"; +// Imports const fs = require('fs'); +const path = require('path'); +const { ensureFolder, envPaths } = require('./paths'); -const defaultConfig = { - 'settings': { - 'nsfw_content': false - } -}; -var config = {}; +// Handling Variables +const configFolder = ensureFolder(path.join(envPaths.CONFIG, 'sneedbay')); +const defaultConfigPath = path.join(configFolder, 'config.json'); +var loadedConfig = {}; -function createConfig(configPath, data) +function createConfig() { - fs.writeFileSync(configPath, JSON.stringify(data), 'utf-8'); + const defaultConfig = { + 'settings': { + 'nsfw_content': false + } + }; + + fs.writeFileSync(configPath, JSON.stringify(defaultConfig), 'utf-8'); } function loadConfig(configPath) { - if ( !fs.existsSync(configPath) ) + if (!fs.existsSync(configPath)) { createConfig(configPath, defaultConfig); } - - return JSON.parse(fs.readFileSync(configPath)); -} + this.loadedConfig = JSON.parse(fs.readFileSync(configPath)); +} -module.exports = {loadConfig, config};
\ No newline at end of file +module.exports = { loadConfig, defaultConfigPath, loadedConfig };
\ No newline at end of file diff --git a/server/js/paths.js b/server/js/paths.js index ee10807..3bf6824 100644 --- a/server/js/paths.js +++ b/server/js/paths.js @@ -28,7 +28,7 @@ const envPaths = { HOME: os.homedir(), DATA: process.env.APPDATA || ensureFolder(path.join(os.homedir(), 'AppData', 'Roaming')), CONFIG: process.env.APPDATA || ensureFolder(path.join(os.homedir(), 'AppData', 'Roaming')), - CACHE: process.env.TEMP || process.env.TMP || ensureFolder(path.join(process.env.LOCALAPPDATA, 'Temp')) + CACHE: process.env.TEMP || process.env.TMP || path.join(process.env.LOCALAPPDATA, 'Temp') || ensureFolder(path.join(os.homedir(), 'AppData', 'Local', 'Temp')) } } |