/
startup.js
45 lines (44 loc) · 1.8 KB
/
startup.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import { AccountsAnonymous } from 'meteor/faburem:accounts-anonymous'
import { BrowserPolicy } from 'meteor/browser-policy-framing'
import Extensions from '../../api/extensions/extensions.js'
import { defaultSettings, Globalsettings } from '../../api/globalsettings/globalsettings.js'
import { getGlobalSetting } from '../../utils/frontend_helpers'
Meteor.startup(() => {
AccountsAnonymous.init()
for (const setting of defaultSettings) {
if (!Globalsettings.findOne({ name: setting.name })) {
Globalsettings.insert(setting)
}
}
if (Meteor.settings.disablePublic) {
// eslint-disable-next-line i18next/no-literal-string
Globalsettings.update({ name: 'disablePublicProjects' }, { $set: { value: Meteor.settings.disablePublic === 'true' } })
}
if (Meteor.settings.enableAnonymousLogins) {
// eslint-disable-next-line i18next/no-literal-string
Globalsettings.update({ name: 'enableAnonymousLogins' }, { $set: { value: Meteor.settings.disablePublic === 'true' } })
}
if (getGlobalSetting('enableOpenIDConnect')) {
import('../../utils/oidc_server').then((Oidc) => {
Oidc.registerOidc()
})
}
for (const extension of Extensions.find({})) {
if (extension.isActive) {
if (extension.id === 'titra_ldap') {
// extensions should bundle all their dependencies, however this does not work
// for ldapjs because the maintainer refuses to support transpilation
import('ldapjs')
}
// eslint-disable-next-line no-eval
eval(extension.server)
}
}
if (getGlobalSetting('XFrameOptionsOrigin')) {
BrowserPolicy.framing.restrictToOrigin(getGlobalSetting('XFrameOptionsOrigin'))
}
if (process.env.NODE_ENV !== 'development') {
// eslint-disable-next-line no-console
console.log(`titra started on port ${process.env.PORT}`)
}
})