Я отправляю запрос на поставку от angular узлу api, который обновляет статус объекта предложения с ожидающего до онлайн, ответ контроллера возвращает ошибку 500, но при обновлении страницы статус предложения изменился!
update(propositionID) {
this.loading = true;
this.http.put('/api/propositions/' + propositionID, { online: true }).subscribe(res => {
this.loading = false;
this.filteredPropositions.filter(proposition => proposition._id === propositionID)[0].status = "online";
this.propositions.filter(proposition => proposition._id === propositionID)[0].status = "online";
this.toastr.success('vous avez accepter cette proposition!');
this.getProposition();
})
}
export async function update(req, res) {
try {
let proposition = await Proposition.findOne({
_id: req.params.id
})
if (!proposition) {
return res.status(404).json({
error: 'Proposition n\'existe plus!'
})
}
if (req.body.description) proposition.description = req.body.description
if (req.body.online) proposition.status = 'online'
if (req.body.comment) proposition.comments.push(req.body.comment)
proposition = await proposition.save()
if (req.body.online) {
console.log(req.body.online)
const msg = 'Votre proposition de titre "' + proposition.title.substring(0, 10) + ' ..." a été approuvée par un administrateur de Baladiaty et maintenant en ligne!'
const result = await createNotification(proposition.issuer, msg, 'proposition', proposition.status, proposition._id)
const socket = req.app.get('socketio')
const io = req.app.get('io')
if (result.success == false) {
console.log("notification result:", result.success)
return res.status(400).json({
error: result.error
})
}
socket.emit('notifications', {
notification: result.notification
})
}
return res.json(proposition)
} catch (error) {
if (error.name == 'CastError') {
return res.status(400).json({
error: error.message
})
} else return res.status(500).end()
}
}
сервер вернул 500 ошибок, но статус предложения изменился на онлайн! может кто-нибудь взглянуть и найти, откуда эта ошибка!