implemented quick pay within bank
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
const { validateUser } = require('../services/auth.service');
|
||||
const authService = require('../services/auth.service');
|
||||
const { generateToken } = require('../util/jwt');
|
||||
const { logger } = require('../util/logger');
|
||||
|
||||
@@ -12,9 +12,9 @@ async function login(req, res) {
|
||||
}
|
||||
|
||||
try {
|
||||
const user = await validateUser(customerNo, password);
|
||||
const user = await authService.validateUser(customerNo, password);
|
||||
if (!user) return res.status(401).json({ error: 'invalid credentials' });
|
||||
const token = generateToken(user.customer_no);
|
||||
const token = generateToken(user.customer_no, '1d');
|
||||
res.json({ token });
|
||||
} catch (err) {
|
||||
logger.error(err, 'login failed');
|
||||
@@ -22,4 +22,38 @@ async function login(req, res) {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { login };
|
||||
async function tpin(req, res) {
|
||||
const customerNo = req.user;
|
||||
try {
|
||||
const user = await authService.findUserByCustomerNo(customerNo);
|
||||
if (!user) return res.status(404).json({ message: 'USER_NOT_FOUND' });
|
||||
if (!user.tpin) {
|
||||
return res.json({ tpinSet: false });
|
||||
} else {
|
||||
return res.json({ tpinSet: true });
|
||||
}
|
||||
} catch (err) {
|
||||
logger.error(err, 'error occured while checking tpin');
|
||||
res.status(500).json({ error: 'something went wrong' });
|
||||
}
|
||||
}
|
||||
|
||||
async function setTpin(req, res) {
|
||||
const customerNo = req.user;
|
||||
try {
|
||||
const user = await authService.findUserByCustomerNo(customerNo);
|
||||
if (!user) return res.status(404).json({ error: 'USER_NOT_FOUND' });
|
||||
if (user.tpin)
|
||||
return res.status(400).json({ error: 'USER_ALREADY_HAS_A_TPIN' });
|
||||
const { tpin } = req.body;
|
||||
if (!/^\d{6}$/.test(tpin))
|
||||
return res.status(400).json({ error: 'INVALID_TPIN_FORMAT' });
|
||||
authService.setTpin(customerNo, tpin);
|
||||
return res.json({ message: 'TPIN_SET' });
|
||||
} catch (error) {
|
||||
logger.error(error);
|
||||
return res.status(500).json({ error: 'SOMETHING_WENT_WRONG' });
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { login, tpin, setTpin };
|
||||
|
Reference in New Issue
Block a user