-
Notifications
You must be signed in to change notification settings - Fork 1
/
start-sms-simulator.js
84 lines (61 loc) · 2.44 KB
/
start-sms-simulator.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
//load nconf
var nconf = require('nconf');
nconf.add('file', {file: './conf/config.json'});
nconf.load();
//load winstoon
var winstoon = require('winstoon');
winstoon.add(winstoon.transports.Console, {timestamp: true});
var logger = winstoon.createLogger('start');
//port loader
var apiPort = nconf.get('ports:api');
var simulatorPort = nconf.get('ports:simulator');
var clientPort = nconf.get('ports:client');
//loadEventBus
var EventEmitter = require('events').EventEmitter;
var eventBus = new EventEmitter();
//load appstore
var AppStore = require('./lib/appStore');
var appStore = new AppStore();
////// load live test //////
//load mongo
var mongo = require('mongoskin');
var mongoConfig = nconf.get('live:mongo');
var appCollection = mongo.db(mongoConfig.url).collection(mongoConfig.collections.app);
var phoneCollection = mongo.db(mongoConfig.url).collection(mongoConfig.collections.phone);
//load the model
var Model = require('./lib/live/model');
var liveModel = new Model(appCollection, phoneCollection);
//load Routers
var appzoneConfig = nconf.get('live:appzone');
var ports = nconf.get('live:ports');
var MtRouter = require('./lib/live/mtRouter');
var mtRouter = new MtRouter(appzoneConfig, liveModel, eventBus);
var MoRouter = require('./lib/live/moRouter');
var moRouter = new MoRouter(appzoneConfig, ports.mo, liveModel, eventBus);
///// End loading live test /////
//load apiServer
var express = require('express');
var apiServer = express.createServer();
apiServer.use(express.bodyParser());
apiServer.listen(apiPort);
logger.info('API Server started', {port: apiPort});
//load simulatorServer
var simulatorServer = express.createServer();
simulatorServer.use(express.bodyParser());
simulatorServer.listen(simulatorPort);
logger.info('Simulator Server started', {port: simulatorPort})
////////////////////////////////////////////////////////////////////
//load SetupMan
var SetupMan = require('./lib/setupMan');
var setupMan = new SetupMan(apiServer, appStore, liveModel);
//load Simulator
var Simulator = require('./lib/simulator');
var simulator = new Simulator(simulatorServer, appStore, eventBus);
var clientServer = express.createServer();
clientServer.use(express.bodyParser());
clientServer.listen(clientPort);
logger.info('Client Server started', {port: clientPort})
//Client Handler
var ClientHandler = require('./lib/clientHandler');
var clientHandler = new ClientHandler(clientServer, eventBus, apiPort);
/////////////////////////////////////////////