From d33e5a9ffd92cd5e345875bfe042f03f2e5a9d2c Mon Sep 17 00:00:00 2001 From: Erlend <erlendsu@stud.ntnu.no> Date: Mon, 24 Sep 2018 17:21:57 +0200 Subject: [PATCH] =?UTF-8?q?nice=20bra=20sak=C3=A6r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dao/persondao.js | 18 ++++++++++++++++++ dao/persondao.test.js | 28 ++++++++++++++++++++++++++++ server.js | 17 +++++++++++++++++ 3 files changed, 63 insertions(+) diff --git a/dao/persondao.js b/dao/persondao.js index 987542b..bf2ddce 100644 --- a/dao/persondao.js +++ b/dao/persondao.js @@ -21,4 +21,22 @@ module.exports = class PersonDao extends Dao { callback ); } + + updateOne(json, callback) { + var val = [json.navn, json.adresse, json.alder, json.id]; + super.query( + "update person set navn = ?, adresse = ?, alder = ?) where id = ?", + val, + callback + ); + } + + deleteOne(id, callback) { + super.query( + "delete person where id=?", + [id], + callback + ); + } + }; diff --git a/dao/persondao.test.js b/dao/persondao.test.js index 79f786b..f03057d 100644 --- a/dao/persondao.test.js +++ b/dao/persondao.test.js @@ -77,3 +77,31 @@ test("get all persons from db", done => { personDao.getAll(callback); }); + +test("update person in db", done => { + function callback(status, data) { + console.log( + "Test callback: status=" + status + ", data=" + JSON.stringify(data) + ); + expect(data[0].navn).toBe("Olav Olavsen"); + done(); + } + + personDao.createOne( + {navn: "Olav Olavsen", alder: 34, adresse: "Gata 3", id: 1}, + callback + ); +}); + +test("delete one person from db", done => { + function callback(status, data) { + console.log( + "Test callback: status=" + status + ", data=" + JSON.stringify(data) + ); + expect(data.affectedRows).toBe(1); + done(); + } + + personDao.deleteOne(2, callback); +}); + diff --git a/server.js b/server.js index 3e28234..53dcec5 100644 --- a/server.js +++ b/server.js @@ -41,4 +41,21 @@ app.post("/person", (req, res) => { }); }); +app.put("/person", (req, res) => { + console.log("Fikk POST-request fra klienten"); + personDao.updateOne(req.body, (status, data) => { + res.status(status); + res.json(data); + }); +}); + +app.delete("/person/:personId", (req, res) => { + console.log("/person/:personId: fikk request fra klient"); + personDao.deleteOne(req.params.personId, (status, data) => { + res.status(status); + res.json(data); + }); +}); + var server = app.listen(8080); + -- GitLab