From a5ae46f5c39b5497b66302f0fcb4c3f0cc50ab8e Mon Sep 17 00:00:00 2001 From: Adrian Thompson Date: Tue, 1 Sep 2020 10:17:17 +0200 Subject: [PATCH] working delete requested wine if admin --- api/request.js | 7 +++++++ src/api.js | 16 ++++++++++++++++ src/components/AllRequestedWines.vue | 15 ++++++++++----- src/ui/RequestedWineCard.vue | 16 +++++++++++++++- 4 files changed, 48 insertions(+), 6 deletions(-) diff --git a/api/request.js b/api/request.js index 53511c9..d318beb 100644 --- a/api/request.js +++ b/api/request.js @@ -9,11 +9,18 @@ const RequestedWine = require(path.join( const Wine = require(path.join( __dirname + "/../schemas/Wine" )); +const mustBeAuthenticated = require(path.join( + __dirname + "/../middleware/mustBeAuthenticated" +)); router.use((req, res, next) => { next(); }); +router.route("/request/").delete(mustBeAuthenticated, async (req, res) => { + await RequestedWine.deleteOne({wineId: req.body.id}) + res.json(true); +}) router.route("/request").get(async (req, res) => { const rWines = await RequestedWine.find({}).populate("wine") diff --git a/src/api.js b/src/api.js index b549d22..1d5bb7f 100644 --- a/src/api.js +++ b/src/api.js @@ -100,6 +100,21 @@ const winners = () => { return fetch(url.href).then(resp => resp.json()); }; +const deleteRequestedWine = wineToBeDeleted => { + console.log("when do i get here", wineToBeDeleted) + const url = new URL("api/request", BASE_URL); + + const options = { + headers: { + "Content-Type": "application/json" + }, + method: "DELETE", + body: JSON.stringify(wineToBeDeleted) + }; + + return fetch(url.href, options).then(resp => resp.json()) +} + const deleteWinners = () => { const url = new URL("/api/virtual/winners", BASE_URL); @@ -302,6 +317,7 @@ export { winnersSecure, deleteWinners, deleteAttendees, + deleteRequestedWine, getChatHistory, finishedDraw, getAmIWinner, diff --git a/src/components/AllRequestedWines.vue b/src/components/AllRequestedWines.vue index cabfb87..01033af 100644 --- a/src/components/AllRequestedWines.vue +++ b/src/components/AllRequestedWines.vue @@ -1,10 +1,10 @@ @@ -22,9 +22,14 @@ export default { canRequest: true } }, - async mounted() { - const wines = await allRequestedWines(); - this.wines = wines + methods: { + async refreshData(){ + const wines = await allRequestedWines() + this.wines = wines + } + }, + mounted() { + this.refreshData() } } diff --git a/src/ui/RequestedWineCard.vue b/src/ui/RequestedWineCard.vue index 76b30fd..3c85be0 100644 --- a/src/ui/RequestedWineCard.vue +++ b/src/ui/RequestedWineCard.vue @@ -19,11 +19,16 @@ class="wine-link" >Les mer på polet +