Refactor/route separation #21
11
api/app.js
11
api/app.js
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user