-
Notifications
You must be signed in to change notification settings - Fork 11
/
api-server.js
35 lines (30 loc) · 914 Bytes
/
api-server.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
require('dotenv-safe').config()
const logger = require('loggy')
const express = require('express')
const http = require('http')
const app = express()
const compression = require('compression')
app.use(compression())
const server = http.createServer(app)
const register = require('./register')
const checkForNewVersion = require('./updates')
app.use('/api/data', require('./api/data'))
function startWebServer () {
return new Promise((resolve, reject) => {
server.listen(process.env.WEBSERVER_PORT, err => {
if (err) {
reject(err)
} else {
logger.log(`Web server listening on *:${process.env.WEBSERVER_PORT}`)
resolve()
}
})
})
}
setInterval(checkForNewVersion, 24 * 60 * 60 * 1000)
Promise.resolve()
.then(startWebServer)
.then(register.registerApi)
.then(checkForNewVersion)
.then(() => logger.success('Bell API started'))
.catch(logger.error)