Working Express API

This commit is contained in:
bdnugget committed 2019-06-15 15:21:27 +02:00
1 parent 590193e22e
commit 113dc0344f
4 files changed
+1203

No files matched your search

BIN
View File
Binary file not shown.
+1149
View File
File diff suppressed because it is too large. Load diff
+17
View File
@@ -0,0 +1,17 @@
{
"name": "servercrap",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.19.0",
"express": "^4.17.1",
"sqlite3": "^4.0.9"
}
}
+37
View File
@@ -0,0 +1,37 @@
'use strict'
const app = require('express')();
const bodyParser = require('body-parser');
const sqlite3 = require('sqlite3');
const db = new sqlite3.Database('Quotes.db');
app.use(bodyParser.urlencoded({
extended: true
}));
app.get('/', (req, res) => res.send('helo n00b'));
app.get('/quotes', (req, res) => {
if (req.query.year) return db.all(
'SELECT * FROM quotes WHERE year = ?', [req.query.year],
(err, rows) => err ? res.send(err.message) : res.json(rows));
return db.all(
'SELECT * FROM quotes',
(err, rows) => err ? res.send(err.message) : res.json(rows));
});
app.get('/quotes/:id', (req, res) => db.get(
'SELECT * FROM quotes WHERE id = ?', [req.params.id],
(err, row) => err ? res.send(err.message) : res.json(row || {})));
app.post('/quotes', (req, res) => {
db.run(
'INSERT INTO Quotes (Quote, Author, Year) VALUES (?, ?, ?)',
[req.body.quote, req.body.author, req.body.year],
function(err){
return err ? res.send(err.message) : res.send('Succesfully inserted quote with id: ' + this.lastID);
})
});
app.listen(3000, () => console.log('Listening on port 3000'));