-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathwashbayServer.ts
More file actions
73 lines (65 loc) · 1.48 KB
/
washbayServer.ts
File metadata and controls
73 lines (65 loc) · 1.48 KB
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
'use strict';
/*
**written by Amitesh Rai
*/
/*
**start of the washbay app server,
**Initiates database connection and starts listenning to configured port
*/
/*
**local dependencies loading
*/
var wbshared = require('wb-shared');
var config = require('./server/config/config');
/*
**Initialising Utils, Libraries, MongoSuite
*/
wbshared.init(config);
var log = wbshared.logger.child({ 'module': __filename.substring(__dirname.length + 1, __filename.length - 3) });
/*
**core dependencies loading
*/
var co = require('co');
var koa = require('koa');
/*
**export variables
*/
log.info('Initiating koa config');
var app = module.exports = koa();
/*
**middleware config variables
*/
var koaConfig = require('./server/config/koa');
//log.debug('Koa Initialised', koaConfig);
/*
**configuring koa middleware
*/
koaConfig(app);
/*
**server start/stop
*/
log.info('Testing startup')
var promiseServer = new Promise(function(resolve, reject) {
log.info('Setting up Mongo DB');
if (!wbshared.database) {
co(wbshared.initDatabase()).then();
}
log.info('Starting washbay server . . . ');
if (!module.parent) {
app.server = app.listen(config.systemConfig.app.port);
resolve(true);
}
else {
reject(new Error("error in starting"));
}
});
log.info('Tester post promisifing');
promiseServer.then(
function() {
log.info('Washbay server is running on port : ', config.systemConfig.app.port);
}
).catch(
function(error) {
log.error('Washbay server interrupted : ', error);
}
);