quando vou testar o a rota "/pessoas/:estudanteId/cancela" o postman me retorna o erro "database[this.nomeDoModelo].transaction is not a function" conseguem me ajudar?
pessoasRoute:
.post("/pessoas/:estudanteId/cancela", PessoaController.cancelaPessoa)
PessoaController:
static async cancelaPessoa(req, res) {
const { estudanteId } = req.params;
try {
await pessoasServices.cancelaPessoasEMatriculas(Number(estudanteId));
return res.status(200).json(`matriculas ref. à estudante ${estudanteId} canceladas`);
} catch (error) {
return res.status(500).json(error.message);
}
}
PessoasServices:
async cancelaPessoasEMatriculas(estudanteId) {
return database[this.nomeDoModelo].transaction(async transacao => {
await super.atualizaRegistro({ ativo: false }, estudanteId, { transaction: transacao });
await this.matriculas.atualizaRegistros({ status: 'cancelado'}, { estudante_id: estudanteId }, { transaction: transacao });
});
}
Services:
async atualizaRegistro(dadosAtualizados, id, transacao = {}) {
return database[this.nomeDoModelo]
.update(dadosAtualizados, { where: { id: Number(id) } }, transacao);
}
async atualizaRegistros(dadosAtualizados, where, transacao = {}) {
return database[this.nomeDoModelo]
.update(dadosAtualizados, { where: { ...where } }, transacao );
}