Endpoints defined and exported as functions.
Changed all routes to functions and export them to app.js to handle the registration of route using the functions exported from this file.
This commit is contained in:
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