-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathservice.js
40 lines (30 loc) · 1.12 KB
/
service.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
const config = require('config');
const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const createDebug = require('debug');
const mqtt = require('mqtt');
const routes = require('./routes');
const sendResult = require('./core/helpers/result');
const log = createDebug(`${config.app.name}:service:log`);
const error = createDebug(`${config.app.name}:service:error`);
require('./core/expressAsyncErrors');
process.title = config.app.name;
const app = express();
app.mqtt = mqtt.connect(config.mqtt.url);
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static(`${__dirname}/public`));
routes(app);
app.use((err, req, res, next) => { // eslint-disable-line no-unused-vars
error(`server error: ${JSON.stringify(err)}`);
sendResult(res, {}, err);
});
app.mqtt.on('connect', () => {
log(`MQTT connected to ${config.mqtt.url}`);
app.listen(config.server.port, () => {
log(`${config.app.name} v${config.app.version} started`);
log(`waiting connections on http://0.0.0.0:${config.server.port}`);
});
});