-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathapp.js
More file actions
executable file
·54 lines (45 loc) · 1.57 KB
/
app.js
File metadata and controls
executable file
·54 lines (45 loc) · 1.57 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
var config = require('./config')
, log = require("bunyan").createLogger({name: config.get('serverName')})
, callHandler = require('./libs/callhandler')
, modemListener = require('./libs/modemlistener')
, compress = require('compression')
, express = require('express')
, app = express()
, Datastore = require('nedb')
, dbtoexpress = require("db-to-express-rest")
;
app.set('query parser', 'simple');
app.set('x-powered-by', false);
app.use(compress());
app.use(function(req, res, next) {
req.startTime = process.hrtime();
res.set('server', config.get('serverName'));
//log.info({ req: req }, 'Received request');
return next();
});
// Setup DB's
db = {};
db.callers = new Datastore({ filename: 'db/callersInfo.db'});
db.callHistory = new Datastore({ filename: 'db/callHistory.db'});
db.allowList = new Datastore({ filename: 'db/allowList.db'});
db.denyList = new Datastore({ filename: 'db/denyList.db'});
// Load DB's and set api endpoints.
// Note: Using autoload breaks api endpoints.
db.callers.loadDatabase(function (err) {
if (err) { log.warn(err); }
app.use("/api", dbtoexpress("callers"));
});
db.callHistory.loadDatabase(function (err) {
if (err) { log.warn(err); }
app.use("/api", dbtoexpress("callHistory"));
});
db.allowList.loadDatabase(function (err) {
if (err) { log.warn(err); }
app.use("/api", dbtoexpress("allowList"));
});
db.denyList.loadDatabase(function (err) {
if (err) { log.warn(err); }
app.use("/api", dbtoexpress("denyList"));
});
app.use('/', express.static(__dirname + '/public'));
var server = app.listen(config.get('webPort'));