New message & wine controllers!
These interface towards the respective repositories. Wine: - /api/wine/:id - getWineById - /api/wines - allWines Messages: - /api/lottery/messages/winner/:id - notifyWinnerById
This commit is contained in:
30
api/controllers/messageController.js
Normal file
30
api/controllers/messageController.js
Normal file
@@ -0,0 +1,30 @@
|
||||
const path = require("path");
|
||||
const messageRepository = require(path.join(__dirname, "../message"));
|
||||
const winnerRepository = require(path.join(__dirname, "../winner"));
|
||||
|
||||
const notifyWinnerById = (req, res) => {
|
||||
const { id } = req.params;
|
||||
const isAdmin = req.isAuthenticated();
|
||||
|
||||
return winnerRepository
|
||||
.winnerById(id, isAdmin)
|
||||
.then(winner => messageRepository.sendPrizeSelectionLink(winner))
|
||||
.then(messageResponse =>
|
||||
res.send({
|
||||
messageResponse,
|
||||
success: true
|
||||
})
|
||||
)
|
||||
.catch(error => {
|
||||
const { statusCode, message } = error;
|
||||
|
||||
return res.status(statusCode || 500).send({
|
||||
message: message || "Unexpected error occured while sending message to winner by id.",
|
||||
success: false
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
notifyWinnerById
|
||||
};
|
||||
50
api/controllers/wineController.js
Normal file
50
api/controllers/wineController.js
Normal file
@@ -0,0 +1,50 @@
|
||||
const path = require("path");
|
||||
const wineRepository = require(path.join(__dirname, "../wine"));
|
||||
|
||||
const allWines = (req, res) => {
|
||||
// TODO add "includeWinners"
|
||||
|
||||
return wineRepository
|
||||
.allWines()
|
||||
.then(wines =>
|
||||
res.send({
|
||||
wines: wines,
|
||||
message: `All wines.`,
|
||||
success: true
|
||||
})
|
||||
)
|
||||
.catch(error => {
|
||||
const { statusCode, message } = error;
|
||||
|
||||
return res.status(statusCode || 500).send({
|
||||
success: false,
|
||||
message: message || "Unable to fetch all wines."
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
const wineById = (req, res) => {
|
||||
const { id } = req.params;
|
||||
|
||||
return wineRepository
|
||||
.wineById(id)
|
||||
.then(wine => {
|
||||
res.send({
|
||||
wine,
|
||||
success: true
|
||||
});
|
||||
})
|
||||
.catch(error => {
|
||||
const { statusCode, message } = error;
|
||||
|
||||
return res.status(statusCode || 500).send({
|
||||
message: message || "Unexpected error occured while fetching wine by id.",
|
||||
success: false
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
allWines,
|
||||
wineById
|
||||
};
|
||||
Reference in New Issue
Block a user