Better saving
This commit is contained in:
@@ -52,7 +52,7 @@ router.route("/winners/secure").get(mustBeAuthenticated, async (req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
router.route("/winner").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) {
|
if (allContestants.length == 0) {
|
||||||
res.json(false);
|
res.json(false);
|
||||||
return;
|
return;
|
||||||
@@ -78,7 +78,7 @@ router.route("/winner").get(mustBeAuthenticated, async (req, res) => {
|
|||||||
|
|
||||||
let colorToChooseFrom =
|
let colorToChooseFrom =
|
||||||
ballotColors[Math.floor(Math.random() * ballotColors.length)];
|
ballotColors[Math.floor(Math.random() * ballotColors.length)];
|
||||||
let findObject = {};
|
let findObject = { winner: false };
|
||||||
|
|
||||||
findObject[colorToChooseFrom] = { $gt: 0 };
|
findObject[colorToChooseFrom] = { $gt: 0 };
|
||||||
|
|
||||||
@@ -108,7 +108,11 @@ router.route("/winner").get(mustBeAuthenticated, async (req, res) => {
|
|||||||
for (let y = 0; y < currentContestant[colorToChooseFrom]; y++) {
|
for (let y = 0; y < currentContestant[colorToChooseFrom]; y++) {
|
||||||
attendeeListDemocratic.push({
|
attendeeListDemocratic.push({
|
||||||
name: currentContestant.name,
|
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
|
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();
|
await newWinnerElement.save();
|
||||||
res.json(winner);
|
res.json(winner);
|
||||||
@@ -172,7 +179,8 @@ router.route("/attendee").post(mustBeAuthenticated, async (req, res) => {
|
|||||||
blue,
|
blue,
|
||||||
green,
|
green,
|
||||||
yellow,
|
yellow,
|
||||||
phoneNumber: attendee.phoneNumber
|
phoneNumber: attendee.phoneNumber,
|
||||||
|
winner: false
|
||||||
});
|
});
|
||||||
await newAttendee.save();
|
await newAttendee.save();
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ const Attendee = new Schema({
|
|||||||
green: Number,
|
green: Number,
|
||||||
blue: Number,
|
blue: Number,
|
||||||
red: Number,
|
red: Number,
|
||||||
yellow: Number
|
yellow: Number,
|
||||||
|
winner: Boolean
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports = mongoose.model("Attendee", Attendee);
|
module.exports = mongoose.model("Attendee", Attendee);
|
||||||
|
|||||||
@@ -102,4 +102,4 @@ app.use("/service-worker.js", function(req, res) {
|
|||||||
res.sendFile(path.join(__dirname, "public/sw/serviceWorker.js"));
|
res.sendFile(path.join(__dirname, "public/sw/serviceWorker.js"));
|
||||||
});
|
});
|
||||||
|
|
||||||
server.listen(3000);
|
server.listen(30030);
|
||||||
|
|||||||
@@ -21,6 +21,10 @@
|
|||||||
<div :class="winner.color + '-ballot'" class="ballot-element">
|
<div :class="winner.color + '-ballot'" class="ballot-element">
|
||||||
<span>{{ winner.name }}</span>
|
<span>{{ winner.name }}</span>
|
||||||
<span>{{ winner.phoneNumber }}</span>
|
<span>{{ winner.phoneNumber }}</span>
|
||||||
|
<span>Rød: {{ winner.red }}</span>
|
||||||
|
<span>Blå: {{ winner.blue }}</span>
|
||||||
|
<span>Grønn: {{ winner.green }}</span>
|
||||||
|
<span>Gul: {{ winner.yellow }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user