Also try returning better error message on exceptions and check for errors in payload to return well-defined errors.
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const path = require("path");
 | |
| const RequestRepository = require(path.join(
 | |
|   __dirname, "../request"
 | |
| ));
 | |
| 
 | |
| function addRequest(req, res) {
 | |
|   const { wine } = req.body;
 | |
| 
 | |
|   return RequestRepository.addNew(wine)
 | |
|     .then(wine => res.json({
 | |
|       message: "Successfully added new request",
 | |
|       wine: wine,
 | |
|       success: true
 | |
|     }))
 | |
|     .catch(error => {
 | |
|       const { message, statusCode } = error;
 | |
| 
 | |
|       return res.status(statusCode || 500).send({
 | |
|         success: false,
 | |
|         message: message || "Unable to add requested wine."
 | |
|       })
 | |
|     })
 | |
| }
 | |
| 
 | |
| function getAllRequests(req, res) {
 | |
|   return RequestRepository.getAll()
 | |
|     .then(wines => res.json({
 | |
|       wines: wines,
 | |
|       success: true
 | |
|     }))
 | |
|     .catch(error => {
 | |
|       console.log("error in getAllRequests:", error);
 | |
| 
 | |
|       const message = "Unable to fetch all requested wines."
 | |
|       return res.status(500).json({
 | |
|         success: false,
 | |
|         message: message
 | |
|       })
 | |
|     })
 | |
| }
 | |
| 
 | |
| function deleteRequest(req, res) {
 | |
|   const { id } = req.params;
 | |
| 
 | |
|   return RequestRepository.deleteById(id)
 | |
|     .then(_ => res.json({
 | |
|       message: `Slettet vin med id: ${ id }`,
 | |
|       success: true
 | |
|     }))
 | |
|     .catch(error => {
 | |
|       const { statusCode, message } = error;
 | |
| 
 | |
|       return res.status(statusCode || 500).send({
 | |
|         success: false,
 | |
|         message: message || "Unable to delete requested wine."
 | |
|       });
 | |
|     })
 | |
| }
 | |
| 
 | |
| module.exports = {
 | |
|   addRequest,
 | |
|   getAllRequests,
 | |
|   deleteRequest
 | |
| } |