1 | var _ = require('lodash');
|
2 | var check = require('check-types');
|
3 | var verify = check.verify;
|
4 |
|
5 | module.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 |
|
25 | function tenantAsset(tenantBaseUrl, extension, nodeEnv) {
|
26 | var isProd = nodeEnv === 'production';
|
27 | return tenantBaseUrl + '/atlassian-connect/all' + (isProd ? '' : '-debug') + '.' + extension;
|
28 | }
|