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