summaryrefslogtreecommitdiff
path: root/app/src/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/index.js')
-rw-r--r--app/src/index.js32
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