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)
28 lines (25 loc) • 758 B
JavaScript
const { blockIsExpired } = require('./blockIsExpired')
const { buildErrObject } = require('../../../middleware/utils')
/**
*
* @param {Object} user - user object.
*/
const checkLoginAttemptsAndBlockExpires = (user = {}) => {
return new Promise((resolve, reject) => {
// Let user try to login again after blockexpires, resets user loginAttempts
if (blockIsExpired(user)) {
user.loginAttempts = 0
user.save((err, result) => {
if (err) {
return reject(buildErrObject(422, err.message))
}
if (result) {
return resolve(true)
}
})
}
// User is not blocked, check password (normal behaviour)
resolve(true)
})
}
module.exports = { checkLoginAttemptsAndBlockExpires }