2017-07-08 13:48:34 +00:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const passport = require('./passport');
|
2019-07-26 15:05:49 +00:00
|
|
|
const config = require('./config');
|
2017-07-30 13:22:07 +00:00
|
|
|
const forms = require('../models/forms');
|
2017-08-13 18:11:58 +00:00
|
|
|
const shares = require('../models/shares');
|
2018-04-22 15:33:43 +00:00
|
|
|
const urls = require('./urls');
|
2018-12-16 12:47:08 +00:00
|
|
|
const settings = require('../models/settings');
|
|
|
|
const contextHelpers = require('./context-helpers');
|
2017-07-08 13:48:34 +00:00
|
|
|
|
2018-09-18 08:30:13 +00:00
|
|
|
|
|
|
|
async function getAnonymousConfig(context, appType) {
|
2017-07-08 13:48:34 +00:00
|
|
|
return {
|
|
|
|
authMethod: passport.authMethod,
|
2017-07-08 18:32:04 +00:00
|
|
|
isAuthMethodLocal: passport.isAuthMethodLocal,
|
2017-07-09 13:41:53 +00:00
|
|
|
externalPasswordResetLink: config.ldap.passwordresetlink,
|
2018-11-18 20:31:22 +00:00
|
|
|
defaultLanguage: config.defaultLanguage,
|
|
|
|
enabledLanguages: config.enabledLanguages,
|
2018-04-02 09:58:32 +00:00
|
|
|
isAuthenticated: !!context.user,
|
2018-05-09 02:07:01 +00:00
|
|
|
trustedUrlBase: urls.getTrustedUrlBase(),
|
2018-04-22 15:33:43 +00:00
|
|
|
trustedUrlBaseDir: urls.getTrustedUrlBaseDir(),
|
2018-05-09 02:07:01 +00:00
|
|
|
sandboxUrlBase: urls.getSandboxUrlBase(),
|
2018-04-22 15:33:43 +00:00
|
|
|
sandboxUrlBaseDir: urls.getSandboxUrlBaseDir(),
|
2018-09-18 08:30:13 +00:00
|
|
|
publicUrlBase: urls.getPublicUrlBase(),
|
|
|
|
publicUrlBaseDir: urls.getPublicUrlBaseDir(),
|
|
|
|
appType
|
2017-07-24 04:03:32 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-07-30 13:22:07 +00:00
|
|
|
async function getAuthenticatedConfig(context) {
|
2018-11-03 20:46:23 +00:00
|
|
|
const globalPermissions = {};
|
|
|
|
for (const perm of shares.getGlobalPermissions(context)) {
|
|
|
|
globalPermissions[perm] = true;
|
|
|
|
}
|
|
|
|
|
2020-07-18 07:48:03 +00:00
|
|
|
const setts = await settings.get(contextHelpers.getAdminContext(), ['mapsApiKey', 'shoutout']);
|
2018-12-16 12:47:08 +00:00
|
|
|
|
2017-07-24 04:03:32 +00:00
|
|
|
return {
|
2017-07-30 13:22:07 +00:00
|
|
|
defaultCustomFormValues: await forms.getDefaultCustomFormValues(),
|
2017-09-17 14:36:23 +00:00
|
|
|
user: {
|
|
|
|
id: context.user.id,
|
2018-02-25 19:54:15 +00:00
|
|
|
username: context.user.username,
|
2017-09-17 14:36:23 +00:00
|
|
|
namespace: context.user.namespace
|
|
|
|
},
|
2018-11-03 20:46:23 +00:00
|
|
|
globalPermissions,
|
2018-04-22 15:33:43 +00:00
|
|
|
editors: config.editors,
|
2019-07-03 09:58:58 +00:00
|
|
|
tagLanguages: config.tagLanguages,
|
2018-07-22 09:32:43 +00:00
|
|
|
mosaico: config.mosaico,
|
2018-11-21 21:02:14 +00:00
|
|
|
verpEnabled: config.verp.enabled,
|
2018-12-16 12:47:08 +00:00
|
|
|
reportsEnabled: config.reports.enabled,
|
2018-12-21 18:09:18 +00:00
|
|
|
mapsApiKey: setts.mapsApiKey,
|
2020-07-18 07:48:03 +00:00
|
|
|
builtinZoneMTAEnabled: config.builtinZoneMTA.enabled,
|
|
|
|
shoutout: setts.shoutout
|
2017-07-08 13:48:34 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-09-18 08:30:13 +00:00
|
|
|
|
|
|
|
module.exports.getAuthenticatedConfig = getAuthenticatedConfig;
|
|
|
|
module.exports.getAnonymousConfig = getAnonymousConfig;
|
2017-07-08 13:48:34 +00:00
|
|
|
|