garrettmills
bb79d52911
All checks were successful
continuous-integration/drone/push Build is passing
28 lines
842 B
JavaScript
28 lines
842 B
JavaScript
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
|