When ever I am trying to use asynchronous transaction in by node js app it is giving me an error during post request that user does not exist. But the same user credentials is working fine if I do a simple get or post from the same server and db.
router.post('/medicineretailsalereturn', async (req, res) => {
console.log("Medicine Retail Return Calls......");
console.log(req.body);
var sequelize = common.setPharmaDBConn4SQL(req.headers['pharma_id']);
const t = await sequelize.transaction();
try {
req.body.bill.med_sale_date = new Date();
req.body.bill.med_bill_number = billgenerator(3);
req.body.bill.record_created_date = new Date();
var medicineSellBill = await MedicineRetailSaleBill.create(req.body.bill, { transaction: t });
for (var medCount = 0; medCount < req.body.items.length; medCount++) {
var sellReturnJSON = req.body.items[medCount];
sellReturnJSON.med_bill_id = medicineSellBill.med_sale_bill_id;
sellReturnJSON.record_created_date = new Date();
if(sellReturnJSON.med_bill_number != null) sellReturnJSON.med_sell_bill_number = sellReturnJSON.med_bill_number;
if(sellReturnJSON.med_bill_number == null) {
sellReturnJSON.med_bill_number = medicineSellBill.med_bill_number;
console.log("Sell Deatils");
console.log(sellReturnJSON);
await MedicineRetailSaleDetails.create(sellReturnJSON, { transaction: t });
} else {
sellReturnJSON.med_bill_number = medicineSellBill.med_bill_number;
console.log("Sell Retun Deatils");
console.log(sellReturnJSON);
await MedicineRetailReturnDetails.create(sellReturnJSON, { transaction: t });
}
}
await t.commit();
res.status(200).send("Medicine Reatils Sell/Return Bill Number :" + medicineSellBill.med_bill_number);
} catch (error) {
console.log("Error :" + error)
await t.rollback();
res.status(200).send("Medicine Reatils Sell/Return Failed" + error);
}
});
I can share the entire code if needed. Any help will be highly appriciated.