Get/add/update/delete winners from lottery.
This commit is contained in:
101
api/controllers/lotteryWinnerController.js
Normal file
101
api/controllers/lotteryWinnerController.js
Normal file
@@ -0,0 +1,101 @@
|
||||
const path = require("path");
|
||||
const lotteryRepository = require(path.join(__dirname, "../lottery"));
|
||||
|
||||
const allWinners = (req, res) => {
|
||||
const isAdmin = req.isAuthenticated() || true;
|
||||
|
||||
return lotteryRepository
|
||||
.allWinners(isAdmin)
|
||||
.then(winners =>
|
||||
res.send({
|
||||
winners: winners,
|
||||
success: true
|
||||
})
|
||||
)
|
||||
.catch(error => {
|
||||
const { statusCode, message } = error;
|
||||
|
||||
return res.status(statusCode || 500).send({
|
||||
success: false,
|
||||
message: message || "Unable to fetch lottery winners."
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
const winnerById = (req, res) => {
|
||||
const { id } = req.params;
|
||||
|
||||
return lotteryRepository
|
||||
.winnerById(id)
|
||||
.then(winner =>
|
||||
res.send({
|
||||
winner,
|
||||
success: true
|
||||
})
|
||||
)
|
||||
.catch(error => {
|
||||
const { statusCode, message } = error;
|
||||
|
||||
return res.status(statusCode || 500).send({
|
||||
message: message || "Unexpected error occured, unable to fetch winner by id.",
|
||||
success: false
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
const deleteWinnerById = (req, res) => {
|
||||
const isAdmin = req.isAuthenticated() || true;
|
||||
const { id } = req.params;
|
||||
|
||||
return lotteryRepository
|
||||
.deleteWinnerById(id, isAdmin)
|
||||
.then(removedWinner => {
|
||||
var io = req.app.get("socketio");
|
||||
io.emit("refresh_data", {});
|
||||
return removedWinner;
|
||||
})
|
||||
.then(winner =>
|
||||
res.send({
|
||||
message: `Removed winner: ${winner.name}`,
|
||||
success: true
|
||||
})
|
||||
)
|
||||
.catch(error => {
|
||||
const { statusCode, message } = error;
|
||||
|
||||
return res.status(statusCode || 500).send({
|
||||
message: message || "Unexpected error occured while deleteing wine by id.",
|
||||
success: false
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
const deleteWinners = (req, res) => {
|
||||
return lotteryRepository
|
||||
.deleteWinners()
|
||||
.then(_ => {
|
||||
var io = req.app.get("socketio");
|
||||
io.emit("refresh_data", {});
|
||||
})
|
||||
.then(_ =>
|
||||
res.send({
|
||||
message: "Removed all winners.",
|
||||
success: true
|
||||
})
|
||||
)
|
||||
.catch(error => {
|
||||
const { statusCode, message } = error;
|
||||
|
||||
return res.status(statusCode || 500).send({
|
||||
message: message || "Unexpected error occured while deleting wines",
|
||||
success: false
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
allWinners,
|
||||
winnerById,
|
||||
deleteWinnerById,
|
||||
deleteWinners
|
||||
};
|
||||
Reference in New Issue
Block a user