Refactor/route separation #21

Merged
KevinMidboe merged 26 commits from refactor/routeSeparation into master 2020-09-06 14:00:12 +00:00
2 changed files with 50 additions and 42 deletions
Showing only changes of commit 51a7107802 - Show all commits

View File

@@ -36,10 +36,19 @@ router.get("/lottery/latest", lottery.latest);
router.get("/lottery/by-date/:date", lottery.byEpochDate);
router.get("/lottery/by-name/:name", lottery.byName);
router.delete('/winners', mustBeAuthenticated, virtual.removeWinners);
router.delete('/attendees', mustBeAuthenticated, virtual.removeAttendees);
router.get('/winners', virtual.winners);
router.get('/winners/secure', mustBeAuthenticated, virtual.winnersSecure);
router.post('/finish', mustBeAuthenticated, virtual.finish);
router.get('/attendee/all', virtual.attendees);
router.get('/attendee/all/secure', mustBeAuthenticated, virtual.attendeesSecure);
router.post('attendee/add', mustBeAuthenticated, virtual.addAttendee);
// router.use("/api/", updateApi);
// router.use("/api/", retrieveApi);
// router.use("/api/", wineinfoApi);
// router.use("/api/lottery", lottery);
router.use("/api/virtual-registration/", virtualRegistrationApi);
// router.use("/api/virtual-registration/", virtualRegistrationApi);
module.exports = router;

View File

@@ -22,23 +22,19 @@ const PreLotteryWine = require(path.join(
const Message = require(path.join(__dirname + "/../api/message"));
router.use((req, res, next) => {
next();
});
router.route("/winners").delete(mustBeAuthenticated, async (req, res) => {
const removeWinners = async (req, res) => {
await VirtualWinner.deleteMany();
io.emit("refresh_data", {});
res.json(true);
});
return res.json(true);
};
router.route("/attendees").delete(mustBeAuthenticated, async (req, res) => {
const deleteAttendees = req, res) => {
await Attendee.deleteMany();
io.emit("refresh_data", {});
res.json(true);
});
return res.json(true);
};
router.route("/winners").get(async (req, res) => {
const winners = async (req, res) => {
let winners = await VirtualWinner.find();
let winnersRedacted = [];
let winner;
@@ -50,18 +46,18 @@ router.route("/winners").get(async (req, res) => {
});
}
res.json(winnersRedacted);
});
};
router.route("/winners/secure").get(mustBeAuthenticated, async (req, res) => {
const winnersSecure = async (req, res) => {
let winners = await VirtualWinner.find();
res.json(winners);
return res.json(winners);
});
router.route("/winner").get(mustBeAuthenticated, async (req, res) => {
const winner = async (req, res) => {
let allContestants = await Attendee.find({ winner: false });
if (allContestants.length == 0) {
res.json(false);
return res.json(false);
return;
}
let ballotColors = [];
@@ -151,8 +147,8 @@ router.route("/winner").get(mustBeAuthenticated, async (req, res) => {
);
await newWinnerElement.save();
res.json(winner);
});
return res.json(winner);
};
const genRandomString = function(length) {
return crypto
@@ -168,18 +164,16 @@ const sha512 = function(password, salt) {
return value;
};
router.route("/finish").get(mustBeAuthenticated, async (req, res) => {
const finish = async (req, res) => {
if (!config.gatewayToken) {
res.json(false);
return;
return res.json(false);
}
let winners = await VirtualWinner.find({ timestamp_sent: undefined }).sort({
timestamp_drawn: 1
});
if (winners.length == 0) {
res.json(false);
return;
return res.json(false);
}
let firstWinner = winners[0];
@@ -188,12 +182,10 @@ router.route("/finish").get(mustBeAuthenticated, async (req, res) => {
let messageSent = await Message.sendMessage(firstWinner);
Message.sendUpdate(winners.slice(1));
if (!messageSent) {
res.json(false);
return;
return res.json(false);
}
} catch (e) {
res.json(false);
return;
return res.json(false);
}
firstWinner.timestamp_sent = new Date().getTime();
@@ -201,11 +193,10 @@ router.route("/finish").get(mustBeAuthenticated, async (req, res) => {
await firstWinner.save();
startTimeout(firstWinner.id);
res.json(true);
return;
});
return res.json(true);
};
router.route("/attendees").get(async (req, res) => {
const attendees = async (req, res) => {
let attendees = await Attendee.find();
let attendeesRedacted = [];
let attendee;
@@ -220,16 +211,16 @@ router.route("/attendees").get(async (req, res) => {
yellow: attendee.yellow
});
}
res.json(attendeesRedacted);
});
return res.json(attendeesRedacted);
};
router.route("/attendees/secure").get(mustBeAuthenticated, async (req, res) => {
const attendeesSecure = async (req, res) => {
let attendees = await Attendee.find();
res.json(attendees);
return res.json(attendees);
});
router.route("/attendee").post(mustBeAuthenticated, async (req, res) => {
return addAttendee = async (req, res) => {
const attendee = req.body;
const { red, blue, yellow, green } = attendee;
@@ -246,7 +237,7 @@ router.route("/attendee").post(mustBeAuthenticated, async (req, res) => {
io.emit("new_attendee", {});
res.send(true);
return res.send(true);
});
function shuffle(array) {
@@ -305,7 +296,15 @@ function startTimeout(id) {
}, 600000);
}
module.exports = function(_io) {
io = _io;
return router;
};
module.exports = {
removeWinners,
deleteAttendees,
winners,
winnersSecure,
winner,
finish,
attendees,
attendeesSecure,
addAttendee
}