39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
const express = require('express');
|
|
const impsController = require('../controllers/imps.controller');
|
|
const { logger } = require('../util/logger');
|
|
const impsValidator = require('../validators/imps.validator');
|
|
const paymentSecretValidator = require('../validators/payment.secret.validator');
|
|
|
|
const router = express.Router();
|
|
router.use(impsValidator, paymentSecretValidator);
|
|
|
|
const impsRoute = async (req, res) => {
|
|
const { fromAccount, toAccount, ifscCode, amount, beneficiaryName } =
|
|
req.body;
|
|
|
|
try {
|
|
const result = await impsController.send(
|
|
req.user,
|
|
fromAccount,
|
|
toAccount,
|
|
amount,
|
|
ifscCode,
|
|
beneficiaryName,
|
|
'SAVING',
|
|
'check'
|
|
);
|
|
|
|
if (result.startsWith('Message produced successfully')) {
|
|
return res.json({ message: 'SUCCESS' });
|
|
} else {
|
|
return res.json({ error: 'INVALID_REQUEST' });
|
|
}
|
|
} catch (error) {
|
|
logger.error(error, 'error occured while doing IMPS');
|
|
return res.json({ error: 'INTERVAL_SERVER_ERROR' });
|
|
}
|
|
};
|
|
router.post('/', impsRoute);
|
|
|
|
module.exports = router;
|