From f807f6266014014bcd7cd73ff6a322545698f1b3 Mon Sep 17 00:00:00 2001 From: "tomosa.sarkar" Date: Wed, 29 Oct 2025 15:34:54 +0530 Subject: [PATCH] fix: Add X-header for EMandate. wip: add message template --- .vscode/settings.json | 1 + src/config/config.js | 1 + src/controllers/otp.controller.js | 7 +++++++ src/middlewares/clientVerifier.middleware.js | 2 +- src/util/sms_template.js | 8 +++++++- 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index f05d849..fef8a46 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,6 +3,7 @@ "MPIN", "occured", "otpgenerator", + "TLIMIT", "tpassword", "tpin", "TPWORD" diff --git a/src/config/config.js b/src/config/config.js index c2e8ebe..376b2b3 100644 --- a/src/config/config.js +++ b/src/config/config.js @@ -6,5 +6,6 @@ dotenv.config({ path: path.resolve(__dirname, '../../.env') }); module.exports = { port: process.env.PORT || 8080, dbUrl: process.env.DATABASE_URL, + redisUrl: process.env.REDIS_URL, jwtSecret: process.env.JWT_SECRET, }; diff --git a/src/controllers/otp.controller.js b/src/controllers/otp.controller.js index 231bd7d..88ceb5d 100644 --- a/src/controllers/otp.controller.js +++ b/src/controllers/otp.controller.js @@ -107,6 +107,13 @@ async function SendOtp(req, res) { case 'USERNAME_SAVED': message = templates.USERNAME_SAVED(PreferName); break; + case 'TLIMIT': + otp = generateOTP(6); + message = templates.TLIMIT(otp); + break; + case 'TLIMIT_SET': + message = templates.TLIMIT_SET(amount); + break; default: return res.status(400).json({ error: 'Invalid OTP type' }); } diff --git a/src/middlewares/clientVerifier.middleware.js b/src/middlewares/clientVerifier.middleware.js index 5916f68..a340ac2 100644 --- a/src/middlewares/clientVerifier.middleware.js +++ b/src/middlewares/clientVerifier.middleware.js @@ -3,7 +3,7 @@ const { logger } = require('../util/logger'); function verifyClient(req, res, next) { const clientHeader = req.headers['x-login-type']; - if (!clientHeader || (clientHeader !== 'MB' && clientHeader !== 'IB')) { + if (!clientHeader || (clientHeader !== 'MB' && clientHeader !== 'IB' && clientHeader !== 'eMandate')) { logger.error( `Invalid or missing client header. Expected 'MB' or 'IB'. Found ${clientHeader}` ); diff --git a/src/util/sms_template.js b/src/util/sms_template.js index e4a6373..63d8251 100644 --- a/src/util/sms_template.js +++ b/src/util/sms_template.js @@ -52,7 +52,13 @@ const templates = { `Dear Customer, Your OTP for updating your Preferred Name is ${otp}. It is valid for 1 minute. Do not share this OTP with anyone. -KCCB`, USERNAME_SAVED: (PreferName) => - `Dear Customer, Your Preferred Name -${PreferName} has been updated successfully. If this change was not made by you, please contact our support team immediately.` + `Dear Customer, Your Preferred Name -${PreferName} has been updated successfully. If this change was not made by you, please contact our support team immediately.`, + + TLIMIT :(otp) => + `Dear Customer,Please complete the transaction limit set with ${otp}. -KCCB`, + + TLIMIT_SET :(amount) => + `Dear Customer,Your transaction limit for Internet Banking is set to Rs ${amount}. -KCCB`, }; module.exports = templates; \ No newline at end of file