const { Unit } = require('libflitter') class SettingsUnit extends Unit { static get name() { return 'settings' } static get services() { return [...super.services, 'configs', 'models', 'output'] } async go(app) { Error.stackTraceLimit = 50 app.express.set('trust proxy', true) const Setting = this.models.get('Setting') const default_settings = this.configs.get('setting.settings') for ( const key in default_settings ) { if ( !default_settings.hasOwnProperty(key) ) continue const default_value = default_settings[key] this.output.debug(`Guarantee setting key "${key}" with default value "${default_value}".`) await Setting.guarantee(key, default_value) } } } module.exports = exports = SettingsUnit