From cd5612c9b90aae22ec10fa29b58139a6430c477a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Thu, 26 Mar 2020 16:18:34 +0100 Subject: [PATCH] Better saving --- api/virtualLottery.js | 18 +++++++++++++----- schemas/Attendee.js | 3 ++- server.js | 2 +- .../VirtualLotteryRegistrationPage.vue | 4 ++++ 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/api/virtualLottery.js b/api/virtualLottery.js index 2584c59..f2d30dc 100644 --- a/api/virtualLottery.js +++ b/api/virtualLottery.js @@ -52,7 +52,7 @@ router.route("/winners/secure").get(mustBeAuthenticated, async (req, res) => { }); router.route("/winner").get(mustBeAuthenticated, async (req, res) => { - let allContestants = await Attendee.find(); + let allContestants = await Attendee.find({ winner: false }); if (allContestants.length == 0) { res.json(false); return; @@ -78,7 +78,7 @@ router.route("/winner").get(mustBeAuthenticated, async (req, res) => { let colorToChooseFrom = ballotColors[Math.floor(Math.random() * ballotColors.length)]; - let findObject = {}; + let findObject = { winner: false }; findObject[colorToChooseFrom] = { $gt: 0 }; @@ -108,7 +108,11 @@ router.route("/winner").get(mustBeAuthenticated, async (req, res) => { for (let y = 0; y < currentContestant[colorToChooseFrom]; y++) { attendeeListDemocratic.push({ name: currentContestant.name, - phoneNumber: currentContestant.phoneNumber + phoneNumber: currentContestant.phoneNumber, + red: currentContestant.red, + blue: currentContestant.blue, + green: currentContestant.green, + yellow: currentContestant.yellow }); } } @@ -132,7 +136,10 @@ router.route("/winner").get(mustBeAuthenticated, async (req, res) => { yellow: winner.yellow }); - await Attendee.remove({ name: winner.name, phoneNumber: winner.phoneNumber }); + await Attendee.update( + { name: winner.name, phoneNumber: winner.phoneNumber }, + { $set: { winner: true } } + ); await newWinnerElement.save(); res.json(winner); @@ -172,7 +179,8 @@ router.route("/attendee").post(mustBeAuthenticated, async (req, res) => { blue, green, yellow, - phoneNumber: attendee.phoneNumber + phoneNumber: attendee.phoneNumber, + winner: false }); await newAttendee.save(); diff --git a/schemas/Attendee.js b/schemas/Attendee.js index 2da6723..41e824c 100644 --- a/schemas/Attendee.js +++ b/schemas/Attendee.js @@ -7,7 +7,8 @@ const Attendee = new Schema({ green: Number, blue: Number, red: Number, - yellow: Number + yellow: Number, + winner: Boolean }); module.exports = mongoose.model("Attendee", Attendee); diff --git a/server.js b/server.js index e70e07e..a1648df 100644 --- a/server.js +++ b/server.js @@ -102,4 +102,4 @@ app.use("/service-worker.js", function(req, res) { res.sendFile(path.join(__dirname, "public/sw/serviceWorker.js")); }); -server.listen(3000); +server.listen(30030); diff --git a/src/components/VirtualLotteryRegistrationPage.vue b/src/components/VirtualLotteryRegistrationPage.vue index 7122375..7ad8642 100644 --- a/src/components/VirtualLotteryRegistrationPage.vue +++ b/src/components/VirtualLotteryRegistrationPage.vue @@ -21,6 +21,10 @@
{{ winner.name }} {{ winner.phoneNumber }} + Rød: {{ winner.red }} + Blå: {{ winner.blue }} + Grønn: {{ winner.green }} + Gul: {{ winner.yellow }}