1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-22 18:32:29 +01:00

Make fosscord read config from json if CONFIG_PATH is set

This commit is contained in:
TheArcaneBrony 2022-08-11 18:16:57 +02:00 committed by Madeline
parent 743035279f
commit 8a2d1547f5
No known key found for this signature in database
GPG Key ID: 1958E017C36F2E47

View File

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