new Promise((resolve, reject) => { let server = require('../config').server, host = server.host, uri = ''; if (!host) return reject('Host is not set!'); if (server.proxy) { uri = `https://${host}:${server.proxyPort}`; } else { uri = `http://${host}:${server.port}`; } resolve(uri); }).then(uri => { db.settings.set('uri', uri).write(); }).catch(err => { console.error(new Error(err)); });
async set() { const dt = DateTime.utc(); if (db.stats.get('week').value() === dt.weekNumber) return; db.stats.set('week', dt.weekNumber).write(); db.queue.get('follows').set('last', null).write(); db.queue.get('subscriptions').set('last', null).write(); db.queue.get('donations').set('last', null).write(); const zero = [0, 0, 0, 0, 0, 0, 0]; const types = [ 'follows', 'subscriptions', 'donations.count', 'donations.amount' ]; for (let type of types) { db.stats.get(type).assign(zero).write(); } console.info('Week set & datasets cleared'); return; }
set data(data) { db.settings.set(data.prop, data.value).write(); if (data.value) { const scheduler = require('../scheduler'); switch (data.prop) { case 'api.twitch.enabled': scheduler.api('twitch'); break; case 'api.youtube.enabled': scheduler.api('youtube'); break; case 'api.streamlabs.enabled': scheduler.api('streamlabs'); break; case 'api.tipeee.enabled': scheduler.api('tipeee'); break; case 'api.twitcheventtracker.enabled': scheduler.api('twitcheventtracker'); break; } } }