Advertisement
virtuoso_o

Untitled

Jul 16th, 2024
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 2.56 KB | Software | 0 0
  1. router.post('/updatepassword', validator(validatePasswordUpdate), async (req, res, next) => {
  2.  
  3.  
  4.     sql.connect(serverconfig).then(() => {
  5.         // connect();
  6.         var request = new sql.Request();
  7.  
  8.         request.input('Name', sql.VarChar(50), req.body.name)
  9.             .input('Password', sql.VarChar(50), req.body.password)
  10.  
  11.             .query(`select * from dbo.Aims_Users where loginName=@Name and password=@Password`, function (err, data) {
  12.                 if (err) console.log(err)
  13.                 if (data == undefined) {
  14.                     return res.status(400).send({ 'error': "An error occured" });
  15.                 }
  16.                 var resultLength = Object.values(data.recordset).length;
  17.                 if (resultLength == 0) {
  18.  
  19.                     return res.status(400).json({ 'error': 'Incorrect name or password' })
  20.                 }
  21.                 // res.send(data.recordset);
  22.                 if (data.recordset[0]["PassWord"] == req.body.password)
  23.                     request
  24.                         .input('NewPassword', sql.VarChar(50), req.body.new_password)
  25.                         .query(`update dbo.Aims_Users set password=@NewPassword where loginName=@Name`, function (err, data) {
  26.                             if (err) console.log(err)
  27.                             if (data == undefined) {
  28.                                 return res.status(400).send({ 'error': "An error occured" });
  29.                             }
  30.                             var resultLength = Object.values(data.rowsAffected).length;
  31.                             if (resultLength == 0)
  32.                                 return res.status(404).json({ 'error': 'An error occured' })
  33.  
  34.                             res.json({
  35.                                 'message': 'Login with updated password',
  36.                                 'data': data.rowsAffected,
  37.                             });
  38.                         })
  39.                 // if(data.recordset)
  40.  
  41.             });
  42.     }).catch((err) => {
  43.         next(err);
  44.     });
  45.  
  46.  
  47. });
  48.  
  49.  
  50. function validate(req) {
  51.     const schema = Joi.object({
  52.         name: Joi.string().min(3).max(30).required(),
  53.         password: Joi.string().min(5).max(255).required(),
  54.     });
  55.  
  56.     return schema.validate(req);
  57. }
  58. function validatePasswordUpdate(req) {
  59.     const schema = Joi.object({
  60.         name: Joi.string().min(3).max(30).required(),
  61.         password: Joi.string().min(5).max(255).required(),
  62.         new_password: Joi.string().min(5).max(255).required(),
  63.     });
  64.  
  65.     return schema.validate(req);
  66. }
  67. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement