From f713334cdd76041530b84c5892b233f7339ef5da Mon Sep 17 00:00:00 2001 From: duong98 <20165933#student.hust.edu.vn> Date: Tue, 16 Jun 2020 23:22:05 +0700 Subject: [PATCH] omit middleware --- controllers/redcross/index.js | 11 +-- controllers/redcross/redcrossController.js | 90 +++++++++++----------- middlewares/DonationSelectMiddleware.js | 38 --------- middlewares/bloodtypeMiddleware.js | 25 ------ 4 files changed, 47 insertions(+), 117 deletions(-) delete mode 100644 middlewares/DonationSelectMiddleware.js delete mode 100644 middlewares/bloodtypeMiddleware.js diff --git a/controllers/redcross/index.js b/controllers/redcross/index.js index e0059ab..e01294d 100644 --- a/controllers/redcross/index.js +++ b/controllers/redcross/index.js @@ -114,16 +114,7 @@ router.post( check("id").isLength({ min: 32, max: 32 }), controller.bannedAccount ); -router.post( - "/test_blood/:id", - authMiddleware, - function (req, res, next) { - if (process.env.ENVIRONMENT !== "PRODUCTION") - bloodtypeMiddleware(req, res, next); - else next(); - }, - controller.testBlood -); +router.post("/test_blood/:id", authMiddleware, controller.testBlood); router.get( "/view_donation_list/:id", authMiddleware, diff --git a/controllers/redcross/redcrossController.js b/controllers/redcross/redcrossController.js index 896cb6e..e9d49e9 100644 --- a/controllers/redcross/redcrossController.js +++ b/controllers/redcross/redcrossController.js @@ -907,29 +907,6 @@ module.exports = { err: "not enough blood of this type", }); else { - // let sql = - // "select b.*,d.name as donor_name,e.name as event_name,e.location,e.event_date from blood b,donor d,event e where b.donor_id = d.donor_id and b.event_id=e.event_id and b.red_cross_id = ? and d.blood_type = ? and b.status = ? order by donate_date"; - // let values = [ - // req.userData.id, - // resp[0].blood_type, - // constants.stored, - // ]; - // db.query(sql, values, function (err, result) { - // if (err) - // return res.status(500).json({ - // err: err, - // }); - // else { - // return res.status(200).json({ - // message: "Accepted Order", - // data: result, - // number: Math.ceil( - // req.body.amount / - // constants.standard_blood_donation_amount - // ), - // }); - // } - // }); let sql = "update blood_order set status=? where order_id=?"; let values = [constants.approved, req.params.id]; db.query(sql, values, function (err, resp2) { @@ -938,15 +915,51 @@ module.exports = { err: err, }); else { - if (process.env.ENVIRONMENT !== "PRODUCTION") { - req.amount = resp[0].amount; - req.blood_type = resp[0].blood_type; - next(); - } else - return res.status(200).json({ - message: "Accepted Order", - data: result, - }); + let sql = + "select blood_id from blood where red_cross_id = ? and donor_id in (select donor_id from donor where blood_type = ?) and status = ? order by donate_date limit ?"; + + let values = [ + req.userData.id, + resp[0].blood_type, + constants.stored, + Math.ceil( + resp[0].amount / + constants.standard_blood_donation_amount + ), + ]; + db.query(sql, values, function (err, result) { + if (err) + return res.status(500).json({ + err: err, + }); + else { + const respBlood = []; + result.forEach((element) => { + const blood_id_params = element.blood_id; + let sql = + "update blood set status = ?,order_id = ? where red_cross_id = ? and blood_id = ? and status = ?"; + + let values = [ + constants.active, + req.params.id, + req.userData.id, + blood_id_params, + constants.stored, + ]; + db.query(sql, values, function (err, result) { + if (err) + return res.status(500).json({ + err: err, + }); + else respBlood.push(result); //result.affectedrow + }); + }); + return res.status(200).json({ + message: "Accepted Order", + data: respBlood, + }); + } + }); } }); } @@ -999,17 +1012,6 @@ module.exports = { req.blood_id || blood_id_params, constants.stored, ]; - // let sql = - // "select blood_id from blood where red_cross_id = ? and donor_id in (select donor_id from donor where blood_type = ?) and status = ? order by donate_date limit ?"; - - // let values = [ - // constants.active, - // req.params.id, - // req.userData.id, - // resp[0].blood_type, - // constants.stored, - // Math.ceil(req.body.amount / constants.standard_blood_donation_amount), - // ]; db.query(sql, values, function (err, result) { if (err) return res.status(500).json({ @@ -1253,7 +1255,7 @@ module.exports = { else { let sql = "update donor set blood_type = ? where donor_id = ?"; - let values = [req.blood_type, resp[0].donor_id]; + let values = ["A+", resp[0].donor_id]; db.query(sql, values, function (err, resp1) { if (err) return res.status(500).json({ diff --git a/middlewares/DonationSelectMiddleware.js b/middlewares/DonationSelectMiddleware.js deleted file mode 100644 index 5e75860..0000000 --- a/middlewares/DonationSelectMiddleware.js +++ /dev/null @@ -1,38 +0,0 @@ -const db = require("../database/index"); -const constants = require("../utils/constants"); -module.exports = (req, res, next, cb) => { - try { - let sql = - "select blood_id from blood where red_cross_id = ? and donor_id in (select donor_id from donor where blood_type = ?) and status = ? order by donate_date limit ?"; - - let values = [ - req.userData.id, - req.blood_type, - constants.stored, - Math.ceil(req.amount / constants.standard_blood_donation_amount), - ]; - db.query(sql, values, function (err, result) { - if (err) - return res.status(500).json({ - err: err, - }); - else { - const resp = []; - result.forEach((element) => { - const blood_id_params = element.blood_id; - const new_result = cb(req, res, blood_id_params); - resp.push(new_result); - }); - return res.status(200).json({ - message: "Accepted Order", - data: resp, - }); - } - }); - } catch (error) { - console.log("error", error); - res.status(401).json({ - message: "Test failed", - }); - } -}; diff --git a/middlewares/bloodtypeMiddleware.js b/middlewares/bloodtypeMiddleware.js deleted file mode 100644 index 7f664e1..0000000 --- a/middlewares/bloodtypeMiddleware.js +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = (req, res, next) => { - try { - let blood_type_array = [ - "A+", - "B+", - "O+", - "Rh+", - "AB+", - "A-", - "B-", - "O-", - "Rh-", - "AB-", - ]; - let index = Math.floor(Math.random() * blood_type_array.length); - req.blood_type = blood_type_array[index]; - console.log("req blood type: ", req.blood_type); - next(); - } catch (error) { - console.log("error", error); - res.status(401).json({ - message: "Test failed", - }); - } -};