-
Notifications
You must be signed in to change notification settings - Fork 3
/
index.js
122 lines (76 loc) · 4.17 KB
/
index.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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#!/usr/bin/env node
/*jshint node: true */
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.startWebServer = exports.startEncpwd = undefined;
var _encpwdCli = require('./encpwdCli');
var _encpwdCli2 = _interopRequireDefault(_encpwdCli);
var _webServerCli = require('./webServerCli');
var _webServerCli2 = _interopRequireDefault(_webServerCli);
var _npacPdmsHemeraAdapter = require('npac-pdms-hemera-adapter');
var _npacPdmsHemeraAdapter2 = _interopRequireDefault(_npacPdmsHemeraAdapter);
var _encpwd = require('./adapters/encpwd/');
var _encpwd2 = _interopRequireDefault(_encpwd);
var _npacWsgwAdapters = require('npac-wsgw-adapters');
var _webServer = require('./adapters/webServer/');
var _webServer2 = _interopRequireDefault(_webServer);
var _npac = require('npac');
var _npac2 = _interopRequireDefault(_npac);
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _config = require('./config');
var _config2 = _interopRequireDefault(_config);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/*
const dumpCtx = (ctx, next) => {
console.log('dumpCtx:')
next(null, ctx)
}
*/
var startEncpwd = exports.startEncpwd = function startEncpwd() {
var argv = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : process.argv;
var cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var defaults = _lodash2.default.merge({}, _config2.default, _encpwd2.default.defaults);
// Use CLI to gain additional parameters, and command to execute
var _encpwdCli$parse = _encpwdCli2.default.parse(defaults, argv),
cliConfig = _encpwdCli$parse.cliConfig,
command = _encpwdCli$parse.command;
// Create the final configuration parameter set
var config = _npac2.default.makeConfig(defaults, cliConfig, 'configFileName');
// Define the adapters and executives to add to the container
var appAdapters = [_npac2.default.mergeConfig(config), _npac2.default.addLogger, {
encpwd: _encpwd2.default.execute
}];
// Define the jobs to execute: hand over the command got by the CLI.
var jobs = [_npac2.default.makeCallSync(command)];
// Define terminators for graceful shutdown
var terminators = [];
//Start the container
_npac2.default.start(appAdapters, jobs, terminators, cb);
};
var startWebServer = exports.startWebServer = function startWebServer() {
var argv = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : process.argv;
var cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var defaults = _lodash2.default.merge({}, _config2.default, _webServer2.default.defaults, _npacPdmsHemeraAdapter2.default.defaults, _npacWsgwAdapters.wsServer.defaults, _npacWsgwAdapters.wsPdmsGw.defaults);
// Use CLI to gain additional parameters, and command to execute
var _webServerCli$parse = _webServerCli2.default.parse(defaults, argv),
cliConfig = _webServerCli$parse.cliConfig;
// Create the final configuration parameter set
var config = _npac2.default.makeConfig(defaults, cliConfig, 'configFileName');
// Define the adapters, executives and terminators to add to the container
var appAdapters = [];
var appTerminators = [];
if (config.webServer.usePdms) {
appAdapters = [_npac2.default.mergeConfig(config), _npac2.default.addLogger, _npacPdmsHemeraAdapter2.default.startup, _webServer2.default.startup, _npacWsgwAdapters.wsServer.startup, _npacWsgwAdapters.wsPdmsGw.startup];
appTerminators = [_npacWsgwAdapters.wsPdmsGw.shutdown, _npacWsgwAdapters.wsServer.shutdown, _webServer2.default.shutdown, _npacPdmsHemeraAdapter2.default.shutdown];
} else {
appAdapters = [_npac2.default.mergeConfig(config), _npac2.default.addLogger, _webServer2.default.startup, _npacWsgwAdapters.wsServer.startup];
appTerminators = [_npacWsgwAdapters.wsServer.shutdown, _webServer2.default.shutdown];
}
// Define the jobs to execute: hand over the command got by the CLI.
var jobs = [];
//Start the container
_npac2.default.start(appAdapters, jobs, appTerminators, cb);
};