Olá, Leonardo! Tudo bem?
É uma prática comum e útil para fornecer feedback mais detalhado. Vou te mostrar como você pode fazer isso.
No método atualiza
do seu controller, após realizar a atualização, você pode fazer uma nova query para buscar o registro atualizado e então retorná-lo. Vou te dar um exemplo prático de como isso pode ser feito:
async atualiza(req, res) {
const { id } = req.params;
const dadosAtualizados = req.body;
try {
const foiAtualizado = await this.entidadeService.atualizaRegistro(dadosAtualizados, Number(id));
if (!foiAtualizado) {
return res.status(400).json({ mensagem: 'Registro não foi atualizado' });
}
// Buscar o registro atualizado
const registroAtualizado = await this.entidadeService.pegaPorId(Number(id));
return res.status(200).json({ mensagem: 'Atualizado com sucesso', registro: registroAtualizado });
} catch (erro) {
return res.status(500).json({ mensagem: 'Erro ao atualizar registro', erro: erro.message });
}
}
Para isso funcionar, você precisa ter um método pegaPorId
no seu serviço que busca o registro pelo ID. Algo assim:
async pegaPorId(id) {
return await this.model.findByPk(id);
}
Dessa forma, após a atualização, você faz uma nova consulta ao banco para pegar os dados atualizados e os retorna na resposta da requisição.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.