CoreID/app/unit/SettingsUnit.js

44 lines
1.3 KiB
JavaScript
Raw Normal View History

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) {
2020-10-19 03:07:12 +00:00
Error.stackTraceLimit = 50
2020-07-12 21:05:59 +00:00
app.express.set('trust proxy', true)
const User = this.models.get('auth:User')
const user = await User.findOne({is_default_user_for_coreid: true})
if ( !user ) {
const user = new User({
uid: '__coreid_default_user__',
provider: 'flitter',
block_login: true,
first_name: 'Default_User',
last_name: 'Default_User',
ldap_visible: false,
is_default_user_for_coreid: true,
})
await user.save()
}
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