push
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const CONFIG_PATH = path.join(__dirname, '..', 'config.json');
|
||||
|
||||
const DEFAULTS = {
|
||||
tmdbKey: '',
|
||||
enabledProviders: ['videasy', 'vidfast'],
|
||||
timeoutMs: 30000,
|
||||
apiHost: '0.0.0.0',
|
||||
apiPort: 8789,
|
||||
filters: {
|
||||
minQuality: 'any',
|
||||
audioCodec: 'any',
|
||||
subtitles: 'any',
|
||||
subtitleLang: '',
|
||||
},
|
||||
};
|
||||
|
||||
function loadConfig() {
|
||||
let cfg = { ...DEFAULTS, filters: { ...DEFAULTS.filters } };
|
||||
if (fs.existsSync(CONFIG_PATH)) {
|
||||
const saved = JSON.parse(fs.readFileSync(CONFIG_PATH, 'utf8'));
|
||||
cfg = { ...cfg, ...saved, filters: { ...cfg.filters, ...(saved.filters || {}) } };
|
||||
} else {
|
||||
saveConfig(cfg);
|
||||
}
|
||||
if (!cfg.tmdbKey && process.env.TMDB_API_KEY) cfg.tmdbKey = process.env.TMDB_API_KEY;
|
||||
if (!cfg.tmdbKey) {
|
||||
console.error('No TMDB API key found. Set "tmdbKey" in config.json or the TMDB_API_KEY env var.');
|
||||
process.exit(1);
|
||||
}
|
||||
return cfg;
|
||||
}
|
||||
|
||||
function saveConfig(cfg) {
|
||||
fs.writeFileSync(CONFIG_PATH, JSON.stringify(cfg, null, 2) + '\n');
|
||||
}
|
||||
|
||||
module.exports = { loadConfig, saveConfig, CONFIG_PATH };
|
||||
Reference in New Issue
Block a user