Merge branch 'fetch-from-cbs' of https://7o9o-lb-526275444.ap-south-1.elb.amazonaws.com/md.asif5/yume_js into admin_api
This commit is contained in:
@@ -5,12 +5,9 @@ const newBeneficiaryValidator = require('../validators/beneficiary.validator');
|
||||
const router = express.Router();
|
||||
|
||||
router.get('/validate/within-bank', beneficiaryController.validateWithinBank);
|
||||
router.get('/check', beneficiaryController.checkBeneficiary);
|
||||
router.get('/validate/outside-bank', beneficiaryController.validateOutsideBank);
|
||||
router.get('/ifsc-details', beneficiaryController.getIfscDetails);
|
||||
router.post(
|
||||
'/add',
|
||||
newBeneficiaryValidator,
|
||||
beneficiaryController.addBeneficiary
|
||||
);
|
||||
router.get('/', beneficiaryController.getBeneficiary);
|
||||
router.post('/', newBeneficiaryValidator, beneficiaryController.addBeneficiary);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
@@ -6,6 +6,8 @@ const transactionRoute = require('./transactions.route');
|
||||
const authenticate = require('../middlewares/auth.middleware');
|
||||
const transferRoute = require('./transfer.route');
|
||||
const beneficiaryRoute = require('./beneficiary.route');
|
||||
const neftRoute = require('./neft.route');
|
||||
const rtgsRoute = require('./rtgs.route');
|
||||
const { npciResponse } = require('../controllers/npci.controller');
|
||||
|
||||
const router = express.Router();
|
||||
@@ -15,6 +17,8 @@ router.use('/auth/admin',adminAuthRoute);
|
||||
router.use('/customer', authenticate, detailsRoute);
|
||||
router.use('/transactions/account/:accountNo', authenticate, transactionRoute);
|
||||
router.use('/payment/transfer', authenticate, transferRoute);
|
||||
router.use('/payment/neft', authenticate, neftRoute);
|
||||
router.use('/payment/rtgs', authenticate, rtgsRoute);
|
||||
router.use('/beneficiary', authenticate, beneficiaryRoute);
|
||||
router.use('/npci/beneficiary-response', npciResponse);
|
||||
|
||||
|
||||
49
src/routes/neft.route.js
Normal file
49
src/routes/neft.route.js
Normal file
@@ -0,0 +1,49 @@
|
||||
const express = require('express');
|
||||
const neftController = require('../controllers/neft.controller');
|
||||
const { logger } = require('../util/logger');
|
||||
const neftValidator = require('../validators/neft.validator.js');
|
||||
const paymentSecretValidator = require('../validators/payment.secret.validator');
|
||||
|
||||
const router = express.Router();
|
||||
router.use(neftValidator, paymentSecretValidator);
|
||||
|
||||
const neftRoute = async (req, res) => {
|
||||
const {
|
||||
fromAccount,
|
||||
toAccount,
|
||||
ifscCode,
|
||||
amount,
|
||||
beneficiaryName,
|
||||
remitterName,
|
||||
} = req.body;
|
||||
|
||||
try {
|
||||
const result = await neftController.send(
|
||||
fromAccount,
|
||||
toAccount,
|
||||
amount,
|
||||
ifscCode,
|
||||
beneficiaryName,
|
||||
remitterName
|
||||
);
|
||||
logger.info(result);
|
||||
|
||||
if (result.status.startsWith('O.K.')) {
|
||||
const utr = result.status.slice(9, 25);
|
||||
return res.json({ message: 'SUCCESS', utr });
|
||||
} else if (result.status.includes('INSUFFICIENT FUNDS')) {
|
||||
return res.status(422).json({ error: 'INSUFFICIENT_FUNDS' });
|
||||
} else if (result.status.includes('INVALID CHECK DIGIT')) {
|
||||
return res.status(400).json({ error: 'INVALID_ACCOUNT_NUMBER' });
|
||||
} else {
|
||||
return res.status(400).json({ error: 'PROBLEM_TRANSFERRING_FUNDS' });
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error(error, 'error occured while doing NEFT transaction');
|
||||
return res.status(500).json({ error: 'INTERNAL_SERVER_ERROR' });
|
||||
}
|
||||
};
|
||||
|
||||
router.post('/', neftRoute);
|
||||
|
||||
module.exports = router;
|
||||
48
src/routes/rtgs.route.js
Normal file
48
src/routes/rtgs.route.js
Normal file
@@ -0,0 +1,48 @@
|
||||
const express = require('express');
|
||||
const rtgsController = require('../controllers/rtgs.controller');
|
||||
const { logger } = require('../util/logger');
|
||||
const rtgsValidator = require('../validators/rtgs.validator.js');
|
||||
const paymentSecretValidator = require('../validators/payment.secret.validator');
|
||||
|
||||
const router = express.Router();
|
||||
router.use(rtgsValidator, paymentSecretValidator);
|
||||
|
||||
const rtgsRoute = async (req, res) => {
|
||||
const {
|
||||
fromAccount,
|
||||
toAccount,
|
||||
ifscCode,
|
||||
amount,
|
||||
beneficiaryName,
|
||||
remitterName,
|
||||
} = req.body;
|
||||
|
||||
try {
|
||||
const result = await rtgsController.send(
|
||||
fromAccount,
|
||||
toAccount,
|
||||
amount,
|
||||
ifscCode,
|
||||
beneficiaryName,
|
||||
remitterName
|
||||
);
|
||||
|
||||
if (result.status.startsWith('O.K.')) {
|
||||
const utr = result.status.slice(9, 25);
|
||||
return res.json({ message: 'SUCCESS', utr });
|
||||
} else if (result.status.includes('INSUFFICIENT FUNDS')) {
|
||||
return res.status(422).json({ error: 'INSUFFICIENT_FUNDS' });
|
||||
} else if (result.status.include('INVALID CHECK DIGIT')) {
|
||||
return res.status(400).json({ error: 'INVALID_ACCOUNT_NUMBER' });
|
||||
} else {
|
||||
return res.status(400).json({ error: 'PROBLEM_TRANSFERRING_FUNDS' });
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error(error, 'error occured while doing NEFT transaction');
|
||||
return res.status(500).json({ error: 'INTERNAL_SERVER_ERROR' });
|
||||
}
|
||||
};
|
||||
|
||||
router.post('/', rtgsRoute);
|
||||
|
||||
module.exports = router;
|
||||
@@ -3,15 +3,44 @@ const { logger } = require('../util/logger');
|
||||
|
||||
const transactionsRoute = async (req, res) => {
|
||||
const accountNo = req.params.accountNo;
|
||||
const { fromDate, toDate } = req.query;
|
||||
let data;
|
||||
try {
|
||||
const data = await transactionsController.getLastTen(accountNo);
|
||||
if (fromDate && toDate) {
|
||||
if (!isValidDDMMYYYY(fromDate) || !isValidDDMMYYYY(toDate)) {
|
||||
return res.status(400).json({ error: 'INVALID_DATE_FORMAT' });
|
||||
}
|
||||
data = await transactionsController.getFiltered(
|
||||
accountNo,
|
||||
fromDate,
|
||||
toDate
|
||||
);
|
||||
} else {
|
||||
data = await transactionsController.getLastTen(accountNo);
|
||||
}
|
||||
return res.json(data);
|
||||
} catch (error) {
|
||||
logger.error('error retriving last 10 txns', error);
|
||||
logger.error('error retriving transaction history', error);
|
||||
return res
|
||||
.status(500)
|
||||
.json({ message: 'error occured while fetching transactions' });
|
||||
}
|
||||
};
|
||||
|
||||
function isValidDDMMYYYY(dateStr) {
|
||||
if (!/^\d{8}$/.test(dateStr)) return false;
|
||||
|
||||
const day = parseInt(dateStr.slice(0, 2), 10);
|
||||
const month = parseInt(dateStr.slice(2, 4), 10);
|
||||
const year = parseInt(dateStr.slice(4), 10);
|
||||
|
||||
const date = new Date(year, month - 1, day);
|
||||
|
||||
return (
|
||||
date.getFullYear() === year &&
|
||||
date.getMonth() === month - 1 &&
|
||||
date.getDate() === day
|
||||
);
|
||||
}
|
||||
|
||||
module.exports = transactionsRoute;
|
||||
|
||||
@@ -1,24 +1,10 @@
|
||||
const transferController = require('../controllers/transfer.controller');
|
||||
const { logger } = require('../util/logger');
|
||||
const express = require('express');
|
||||
const tpinValidator = require('../validators/tpin.validator');
|
||||
const tpasswordValidator = require('../validators/tpassword.validator');
|
||||
const transferValidator = require('../validators/transfer.validator');
|
||||
const passwordValidator = require('../validators/payment.secret.validator.js');
|
||||
|
||||
const router = express.Router();
|
||||
// Added for tpassword
|
||||
const passwordValidator=async(req,res,next)=>{
|
||||
const{tpin,tpassword} =req.body;
|
||||
if(tpin){
|
||||
return tpinValidator(req,res,next);
|
||||
}
|
||||
else if(tpassword){
|
||||
return tpasswordValidator(req,res,next);
|
||||
}
|
||||
else{
|
||||
return res.status(400).json({error:"tpin or tpassword is required"})
|
||||
}
|
||||
}
|
||||
router.use(passwordValidator, transferValidator);
|
||||
|
||||
const transferRoute = async (req, res) => {
|
||||
|
||||
Reference in New Issue
Block a user