implemented quick pay within bank
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
const authController = require('../controllers/auth.controller');
|
||||
const authenticate = require('../middlewares/auth.middleware');
|
||||
const express = require('express');
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
router.post('/login', authController.login);
|
||||
router.get('/tpin', authenticate, authController.tpin);
|
||||
router.post('/tpin', authenticate, authController.setTpin);
|
||||
|
||||
module.exports = router;
|
||||
|
@@ -0,0 +1,15 @@
|
||||
const customerController = require('../controllers/customer_details.controller');
|
||||
const { logger } = require('../util/logger');
|
||||
|
||||
const customerRoute = async (req, res) => {
|
||||
const customerNo = req.user;
|
||||
try {
|
||||
const details = await customerController.getDetails(customerNo);
|
||||
return res.json(details);
|
||||
} catch (err) {
|
||||
logger.error(err);
|
||||
return res.status(500).json({ message: 'INTERNAL_SERVER_ERROR' });
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = customerRoute;
|
||||
|
@@ -2,11 +2,14 @@ const express = require('express');
|
||||
const authRoute = require('./auth.route');
|
||||
const detailsRoute = require('./customer_details.route');
|
||||
const transactionRoute = require('./transactions.route');
|
||||
const authenticate = require('../middlewares/auth.middleware');
|
||||
const transferRoute = require('./transfer.route');
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
router.use('/auth', authRoute);
|
||||
router.use('/customer', detailsRoute);
|
||||
router.use('/transactions', transactionRoute);
|
||||
router.use('/customer', authenticate, detailsRoute);
|
||||
router.use('/transactions/account/:accountNo', authenticate, transactionRoute);
|
||||
router.use('/payment/transfer', authenticate, transferRoute);
|
||||
|
||||
module.exports = router;
|
||||
|
@@ -0,0 +1,17 @@
|
||||
const transactionsController = require('../controllers/transactions.controller');
|
||||
const { logger } = require('../util/logger');
|
||||
|
||||
const transactionsRoute = async (req, res) => {
|
||||
const accountNo = req.params.accountNo;
|
||||
try {
|
||||
const data = await transactionsController.getLastTen(accountNo);
|
||||
return res.json(data);
|
||||
} catch (error) {
|
||||
logger.error('error retriving last 10 txns', error);
|
||||
return res
|
||||
.status(500)
|
||||
.json({ message: 'error occured while fetching transactions' });
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = transactionsRoute;
|
||||
|
45
src/routes/transfer.route.js
Normal file
45
src/routes/transfer.route.js
Normal file
@@ -0,0 +1,45 @@
|
||||
const transferController = require('../controllers/transfer.controller');
|
||||
const { logger } = require('../util/logger');
|
||||
const express = require('express');
|
||||
const tpinValidator = require('../validators/tpin.validator');
|
||||
const transferValidator = require('../validators/transfer.validator');
|
||||
|
||||
const router = express.Router();
|
||||
router.use(tpinValidator, transferValidator);
|
||||
|
||||
const transferRoute = async (req, res) => {
|
||||
const { fromAccount, toAccount, toAccountType, amount } = req.body;
|
||||
try {
|
||||
const result = await transferController.transfer(
|
||||
fromAccount,
|
||||
toAccount,
|
||||
toAccountType,
|
||||
amount
|
||||
);
|
||||
|
||||
if (result.status === 'O.K.') {
|
||||
return res.json({ message: 'TRANSACTION_SUCCESS' });
|
||||
} else if (result.status.includes('INVALID CHECK DIGIT')) {
|
||||
return res
|
||||
.status(400)
|
||||
.json({ error: 'INVALID_ACCOUNT_NO', status: result.status });
|
||||
} else if (
|
||||
result.status.includes('CLEARED BAL/FUNDS/DP NOT AVAILABLE.CARE')
|
||||
) {
|
||||
return res
|
||||
.status(400)
|
||||
.json({ error: 'INSUFFICIENT_BALANCE', status: result.status });
|
||||
} else {
|
||||
return res
|
||||
.status(400)
|
||||
.json({ error: 'PROBLEM_TRANSFERRING_FUNDS', status: result.status });
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error(error, 'error occured while doing transfer');
|
||||
return res.status(500).json({ error: 'INTERNAL_SERVER_ERROR' });
|
||||
}
|
||||
};
|
||||
|
||||
router.post('/', transferRoute);
|
||||
|
||||
module.exports = router;
|
Reference in New Issue
Block a user