diff options
author | TheArcaneBrony <myrainbowdash949@gmail.com> | 2022-08-11 18:16:57 +0200 |
---|---|---|
committer | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-12-19 00:01:33 +1100 |
commit | 8a2d1547f5959f90f819185861ee4df8208cf8f4 (patch) | |
tree | 22aaff8aefce5a035c47f47ac5b0501aeda5efe1 | |
parent | Do the funny thing (make user->invite cascade delet) (diff) | |
download | server-8a2d1547f5959f90f819185861ee4df8208cf8f4.tar.xz |
Make fosscord read config from json if CONFIG_PATH is set
-rw-r--r-- | src/util/util/Config.ts | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/util/util/Config.ts b/src/util/util/Config.ts index 7fab7f90..55d7fab1 100644 --- a/src/util/util/Config.ts +++ b/src/util/util/Config.ts @@ -8,7 +8,7 @@ import path from "path"; import fs from "fs"; // TODO: yaml instead of json -// const overridePath = path.join(process.cwd(), "config.json"); +const overridePath = process.env.CONFIG_PATH ?? ""; var config: ConfigValue; var pairs: ConfigEntity[]; @@ -23,12 +23,16 @@ export const Config = { config = pairsToConfig(pairs); config = (config || {}).merge(DefaultConfigOptions); - // try { - // const overrideConfig = JSON.parse(fs.readFileSync(overridePath, { encoding: "utf8" })); - // config = overrideConfig.merge(config); - // } catch (error) { - // fs.writeFileSync(overridePath, JSON.stringify(config, null, 4)); - // } + if (process.env.CONFIG_PATH) { + console.log(`[Config] Using config path from environment rather than database.`); + try { + const overrideConfig = JSON.parse(fs.readFileSync(overridePath, { encoding: "utf8" })); + config = overrideConfig.merge(config); + } catch (error) { + fs.writeFileSync(overridePath, JSON.stringify(config, null, 4)); + } + } + return this.set(config); }, @@ -59,7 +63,9 @@ function applyConfig(val: ConfigValue) { pair.value = obj; return pair.save(); } - // fs.writeFileSync(overridePath, JSON.stringify(val, null, 4)); + + if (process.env.CONFIG_PATH) + fs.writeFileSync(overridePath, JSON.stringify(val, null, 4)); return apply(val); } |