index.js
1 const express = require('express'); 2 const app = express(); 3 const db = require('./persistence'); 4 const getItems = require('./routes/getItems'); 5 const addItem = require('./routes/addItem'); 6 const updateItem = require('./routes/updateItem'); 7 const deleteItem = require('./routes/deleteItem'); 8 9 app.use(express.json()); 10 app.use(express.static(__dirname + '/static')); 11 12 app.get('/items', getItems); 13 app.post('/items', addItem); 14 app.put('/items/:id', updateItem); 15 app.delete('/items/:id', deleteItem); 16 17 db.init().then(() => { 18 app.listen(3000, () => console.log('Listening on port 3000')); 19 }).catch((err) => { 20 console.error(err); 21 process.exit(1); 22 }); 23 24 const gracefulShutdown = () => { 25 db.teardown() 26 .catch(() => {}) 27 .then(() => process.exit()); 28 }; 29 30 process.on('SIGINT', gracefulShutdown); 31 process.on('SIGTERM', gracefulShutdown); 32 process.on('SIGUSR2', gracefulShutdown); // Sent by nodemon