mailtrain/lib/client-helpers.js

44 lines
1.3 KiB
JavaScript
Raw Normal View History

'use strict';
const passport = require('./passport');
const config = require('config');
2017-07-24 04:03:32 +00:00
const permissions = require('./permissions');
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');
const urls = require('./urls');
async function getAnonymousConfig(context, trusted) {
return {
authMethod: passport.authMethod,
isAuthMethodLocal: passport.isAuthMethodLocal,
externalPasswordResetLink: config.ldap.passwordresetlink,
language: config.language || 'en',
isAuthenticated: !!context.user,
trustedUrlBase: urls.getTrustedUrlBase(),
trustedUrlBaseDir: urls.getTrustedUrlBaseDir(),
sandboxUrlBase: urls.getSandboxUrlBase(),
sandboxUrlBaseDir: urls.getSandboxUrlBaseDir(),
trusted
2017-07-24 04:03:32 +00:00
}
}
2017-07-30 13:22:07 +00:00
async function getAuthenticatedConfig(context) {
2017-07-24 04:03:32 +00:00
return {
2017-07-30 13:22:07 +00:00
defaultCustomFormValues: await forms.getDefaultCustomFormValues(),
user: {
id: context.user.id,
username: context.user.username,
namespace: context.user.namespace
},
2018-02-13 22:50:13 +00:00
globalPermissions: shares.getGlobalPermissions(context),
editors: config.editors,
verpEnabled: config.verp.enabled
}
}
module.exports = {
getAuthenticatedConfig,
getAnonymousConfig
};