This repository has been archived on 2025-11-04. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
qoverflow/server/routes/question/EditAnswer.js

39 lines
1.1 KiB
JavaScript

const Answer = require('../../db/models/Answer');
const config = require('../../config.json');
async function EditAnswer(req, res, next) {
const user = req.user;
const { text } = req.body;
const { questionID, answerID } = req.params;
if (!text) return res.status(400).send(config.errorIncomplete);
const answerPull = await createRequest(
'get',
`/questions/${questionID}/answers/${answerID}`
);
if (!answerPull.success) return res.status(500).send(config.errorGeneric);
if (answerPull.answer.creator !== user.username) {
return res.status(403).send(config.errorForbidden);
}
const patchAnswer = await createRequest(
'patch',
`/questions/${questionID}/answers/${answerID}`,
body
);
if (!patchAnswer.success) {
return res.status(500).send(config.errorGeneric);
}
const answer = { ...answerPull.answer, id: answerPull.answer.answer_id };
const newAnswer = await Answer.findByIdAndUpdate(answer.id, answer, {
upsert: true,
});
return res.send({ answer: newAnswer });
}
module.exports = EditAnswer;