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