33 lines
1.0 KiB
JavaScript
33 lines
1.0 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const CONFIG_PATH = process.env.CONFIG_PATH || '/data/config.json';
|
|
|
|
function getEnvConfig() {
|
|
return {
|
|
adminPassword: process.env.ADMIN_PASSWORD || 'admin',
|
|
baserowUrl: (process.env.BASEROW_URL || 'http://baserow:80').replace(/\/+$/, ''),
|
|
baserowToken: process.env.BASEROW_TOKEN || '',
|
|
port: parseInt(process.env.PORT || '7849', 10),
|
|
};
|
|
}
|
|
|
|
function readConfig() {
|
|
const defaults = { sets: [], answersTableId: null };
|
|
try {
|
|
if (fs.existsSync(CONFIG_PATH)) {
|
|
return { ...defaults, ...JSON.parse(fs.readFileSync(CONFIG_PATH, 'utf8')) };
|
|
}
|
|
} catch (e) {
|
|
console.error('[config] Fehler beim Lesen:', e.message);
|
|
}
|
|
return defaults;
|
|
}
|
|
|
|
function writeConfig(data) {
|
|
const dir = path.dirname(CONFIG_PATH);
|
|
if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
|
|
fs.writeFileSync(CONFIG_PATH, JSON.stringify(data, null, 2), 'utf8');
|
|
}
|
|
|
|
module.exports = { getEnvConfig, readConfig, writeConfig }; |