Amigos, estou desenvolvendo uma POC onde preciso cadastrar uma venda.
Para tanto, uso esse código:
this.salvarVenda = function(connection, objeto, response, callback){
let sqlVenda = utilVenda.createSaveQuery(objeto);
console.log(sqlVenda);
connection.query(sqlVenda, function (error, results){
if(error) throw error;
const id_venda = 0;
//Depois que salva a venda, usa-se o id persistido e salva-se os itens
objeto.produtos.forEach((el) => {
const sql = utilVenda.createSaveQueryItems(el, id_venda);
connection.query(sql, function(erro){
if(erro != null){
console.log("Response: " + response.statusCode);
response.status(500);
console.log("Response depois : " + response.statusCode);
console.log("Deu erro"/*erro*/);
}
});
})
callback();
})
}
Eu queria saber como deixar tudo numa transacao só e, caso algo der errado na segunda operacao, dar rollback na venda toda.
Ah, mais uma última coisa: Mesmo quando dá ero e seto o statusCode da response como 500, no meu frontEnd, no callback da Promise ainda recebo statusCode 200 :(
Obrigado desde já