diff --git a/api/message.js b/api/message.js index e2cda4e..0885793 100644 --- a/api/message.js +++ b/api/message.js @@ -99,7 +99,11 @@ async function gatewayRequest(body) { res.setEncoding('utf8'); if (res.statusCode == 200) { - res.on("data", (d) => resolve(JSON.parse(d))); + res.on("data", (data) => { + console.log("Response from message gateway:", data) + + resolve(JSON.parse(data)) + }); } else { res.on("data", (data) => { data = JSON.parse(data); diff --git a/api/virtualLottery.js b/api/virtualLottery.js index e9ec85f..74224d6 100644 --- a/api/virtualLottery.js +++ b/api/virtualLottery.js @@ -187,7 +187,10 @@ const drawWinner = async (req, res) => { ); await newWinnerElement.save(); - return res.json(winner); + return res.json({ + success: true, + winner + }); }; const finish = async (req, res) => { diff --git a/api/virtualRegistration.js b/api/virtualRegistration.js index be34db1..4e5e895 100644 --- a/api/virtualRegistration.js +++ b/api/virtualRegistration.js @@ -96,15 +96,19 @@ const registerWinnerSelection = async (req, res) => { })) }; -const chooseLastWineForUser = (winner, prelotteryWine) => { +const chooseLastWineForUser = (winner, preLotteryWine) => { let date = new Date(); date.setHours(5, 0, 0, 0); return _wineFunctions.findSaveWine(preLotteryWine) .then(wonWine => _personFunctions.findSavePerson(winner, wonWine, date)) - .then(() => prelotteryWine.delete()) + .then(() => preLotteryWine.delete()) .then(() => Message.sendLastWinnerMessage(winner, preLotteryWine)) - .then(() => winner.delete()); + .then(() => winner.delete()) + .catch(err => { + console.log("Error thrown from chooseLastWineForUser: " + err); + throw err; + }) } const findAndNotifyNextWinner = async () => { @@ -114,10 +118,13 @@ const findAndNotifyNextWinner = async () => { let winesLeft = await PreLotteryWine.find(); if (winnersLeft.length > 1) { + console.log("multiple winners left, choose next in line") nextWinner = winnersLeft[0]; // multiple winners left, choose next in line } else if (winnersLeft.length == 1 && winesLeft.length > 1) { + console.log("one winner left, but multiple wines") nextWinner = winnersLeft[0] // one winner left, but multiple wines } else if (winnersLeft.length == 1 && winesLeft.length == 1) { + console.log("one winner and one wine left, choose for user") nextWinner = winnersLeft[0] // one winner and one wine left, choose for user wine = winesLeft[0] return chooseLastWineForUser(nextWinner, wine); diff --git a/src/components/VirtualLotteryRegistrationPage.vue b/src/components/VirtualLotteryRegistrationPage.vue index 153c6e9..24145a1 100644 --- a/src/components/VirtualLotteryRegistrationPage.vue +++ b/src/components/VirtualLotteryRegistrationPage.vue @@ -229,7 +229,8 @@ export default { this.drawingWinner = true; let response = await getVirtualWinner(); - if (response) { + if (response.success) { + console.log("Winner:", response.winner); if (this.currentWinners < this.numberOfWinners) { this.countdown(); } else { @@ -245,7 +246,7 @@ export default { this.getAttendees(); } else { this.drawingWinner = false; - alert("Noe gikk galt under trekningen..!"); + alert("Noe gikk galt under trekningen..! " + response["message"]); } } },