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-date/:date", lottery.byEpochDate);
router.get("/lottery/by-name/:name", lottery.byName); 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/", updateApi);
// router.use("/api/", retrieveApi); // router.use("/api/", retrieveApi);
// router.use("/api/", wineinfoApi); // router.use("/api/", wineinfoApi);
// router.use("/api/lottery", lottery); // router.use("/api/lottery", lottery);
router.use("/api/virtual-registration/", virtualRegistrationApi); // router.use("/api/virtual-registration/", virtualRegistrationApi);
module.exports = router; module.exports = router;

View File

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