UNPKG

931 BJavaScriptView Raw
1var _ = require('lodash');
2var check = require('check-types');
3var verify = check.verify;
4
5module.exports = function (nodeEnv, localBaseUrl, servicesFactory) {
6 verify.string(nodeEnv);
7 verify.webUrl(localBaseUrl);
8 verify.fn(servicesFactory);
9 return function (tenant, authToken) {
10 var decoration = {};
11 var services = servicesFactory(tenant);
12 var tenantBaseUrl = tenant.links.base;
13 _.extend(decoration, services);
14 decoration.locals = {
15 localBaseUrl: localBaseUrl,
16 tenantBaseUrl: tenantBaseUrl,
17 tenantScriptUrl: tenantAsset(tenantBaseUrl, 'js', nodeEnv),
18 tenantStylesheetUrl: tenantAsset(tenantBaseUrl, 'css', nodeEnv),
19 authToken: authToken
20 };
21 return decoration;
22 };
23};
24
25function tenantAsset(tenantBaseUrl, extension, nodeEnv) {
26 var isProd = nodeEnv === 'production';
27 return tenantBaseUrl + '/atlassian-connect/all' + (isProd ? '' : '-debug') + '.' + extension;
28}