UNPKG

node-express-mongodb-jwt-rest-api-skeleton

Version:

Node.js express.js MongoDB JWT REST API - This is a basic API REST skeleton written on JavaScript using async/await. Great for building a starter web API for your front-end (Android, iOS, Vue, react, angular, or anything that can consume an API)

33 lines (30 loc) 942 B
const { isIDGood, handleError, buildErrObject } = require('../../middleware/utils') const { matchedData } = require('express-validator') const { checkPassword } = require('../../middleware/auth') const { findUser, changePasswordInDB } = require('./helpers') /** * Change password function called by route * @param {Object} req - request object * @param {Object} res - response object */ const changePassword = async (req, res) => { try { const id = await isIDGood(req.user._id) const user = await findUser(id) req = matchedData(req) const isPasswordMatch = await checkPassword(req.oldPassword, user) if (!isPasswordMatch) { return handleError(res, buildErrObject(409, 'WRONG_PASSWORD')) } else { // all ok, proceed to change password res.status(200).json(await changePasswordInDB(id, req)) } } catch (error) { handleError(res, error) } } module.exports = { changePassword }