diff options
Diffstat (limited to 'app/src/index.js')
-rw-r--r-- | app/src/index.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/app/src/index.js b/app/src/index.js new file mode 100644 index 0000000..7e8e772 --- /dev/null +++ b/app/src/index.js @@ -0,0 +1,32 @@ +const express = require('express'); +const app = express(); +const db = require('./persistence'); +const getItems = require('./routes/getItems'); +const addItem = require('./routes/addItem'); +const updateItem = require('./routes/updateItem'); +const deleteItem = require('./routes/deleteItem'); + +app.use(express.json()); +app.use(express.static(__dirname + '/static')); + +app.get('/items', getItems); +app.post('/items', addItem); +app.put('/items/:id', updateItem); +app.delete('/items/:id', deleteItem); + +db.init().then(() => { + app.listen(3000, () => console.log('Listening on port 3000')); +}).catch((err) => { + console.error(err); + process.exit(1); +}); + +const gracefulShutdown = () => { + db.teardown() + .catch(() => {}) + .then(() => process.exit()); +}; + +process.on('SIGINT', gracefulShutdown); +process.on('SIGTERM', gracefulShutdown); +process.on('SIGUSR2', gracefulShutdown); // Sent by nodemon |