Files
vinlottis/api/controllers/requestController.js
KevinMidboe 4043954f95 Split request into controller and repo.
Also try returning better error message on exceptions and check for
errors in payload to return well-defined errors.
2021-01-11 20:52:22 +01:00

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
}