From aa755faaa74d95b17a87ee7041cd79d75d9f1a04 Mon Sep 17 00:00:00 2001 From: asif Date: Tue, 17 Feb 2026 11:59:16 +0530 Subject: [PATCH] feat: cheque remove stop and some code formatting --- src/controllers/auth.controller.js | 1 - src/middlewares/clientVerifier.middleware.js | 13 +++-- src/routes/cheque.route.js | 55 +++++++++++++++++++- 3 files changed, 64 insertions(+), 5 deletions(-) diff --git a/src/controllers/auth.controller.js b/src/controllers/auth.controller.js index efa759b..56f764c 100644 --- a/src/controllers/auth.controller.js +++ b/src/controllers/auth.controller.js @@ -184,7 +184,6 @@ async function transPassword(req, res) { } } - async function setTpin(req, res) { const customerNo = req.user; try { diff --git a/src/middlewares/clientVerifier.middleware.js b/src/middlewares/clientVerifier.middleware.js index e1e2b22..82d1a8f 100644 --- a/src/middlewares/clientVerifier.middleware.js +++ b/src/middlewares/clientVerifier.middleware.js @@ -1,11 +1,18 @@ const { logger } = require('../util/logger'); function verifyClient(req, res, next) { - console.log('printing headers'); - console.log(req.headers); + // console.log('printing headers'); + // console.log(req.headers); const clientHeader = req.headers['x-login-type']; - if (!clientHeader || (clientHeader !== 'MB' && clientHeader !== 'IB' && clientHeader !== 'NPCI' && clientHeader !== 'eMandate' && clientHeader !=='Admin')) { + if ( + !clientHeader || + (clientHeader !== 'MB' && + clientHeader !== 'IB' && + clientHeader !== 'NPCI' && + clientHeader !== 'eMandate' && + clientHeader !== 'Admin') + ) { logger.error( `Invalid or missing client header. Expected 'MB' or 'IB'. Found ${clientHeader}` ); diff --git a/src/routes/cheque.route.js b/src/routes/cheque.route.js index de63c0c..5725501 100644 --- a/src/routes/cheque.route.js +++ b/src/routes/cheque.route.js @@ -55,6 +55,56 @@ const chequeStopRoute = async (req, res) => { } ); + console.log('response from stop cheque api: ', response.data); + return res.json(response.data); + } catch (e) { + logger.error('Unable to fetch cheque data: ', e); + if (axios.isAxiosError(e)) { + if (e.response) { + // Server responded with a status outside 2xx + return res.status(e.response.status).json(e.response.data); + } else { + return res + .status(e.response.status) + .json({ error: 'UNKNOWN', message: 'NO_RESPONSE_FROM_CBS' }); + } + } + return res.status(500).json({ error: 'INTERNAL_SERVER_ERROR' }); + } +}; + +const revokeStop = async (req, res) => { + const { + accountNumber, + instrumentType, + removeFromChequeNo, + removeToChequeNo, + removeIssueDate, + removeExpiryDate, + removeAmount, + removeComment, + } = req.body; + + if (!accountNumber || !instrumentType || !removeFromChequeNo) { + console.log('missing'); + return res.status(400).json({ error: 'BAD_REQUEST' }); + } + + try { + const response = await axios.post( + 'http://localhost:8444/kccb/chequeRemoveStop', + { + accountno: accountNumber, + removeFromChequeNo: removeFromChequeNo, + instrType: instrumentType, + removeToChequeNo: removeToChequeNo, + removeIssueDate: removeIssueDate, + removeExpiryDate: removeExpiryDate, + removeAmount: removeAmount, + removeComment: removeComment, + } + ); + console.log('response from stop cheque api: ', response.data); return res.json(response.data); } catch (error) { @@ -64,10 +114,13 @@ const chequeStopRoute = async (req, res) => { }; const enquiryRouter = express.Router(); const stopRouter = express.Router(); +const removeStopRouter = express.Router(); const router = express.Router(); enquiryRouter.get('/enquiry', chequeEnquiryRoute); stopRouter.use(paymentSecretValidator); stopRouter.post('/stop', chequeStopRoute); -router.use(enquiryRouter, stopRouter); +removeStopRouter.use(paymentSecretValidator); +removeStopRouter.post('/removeStop', revokeStop); +router.use(enquiryRouter, stopRouter, removeStopRouter); module.exports = router;