/** * Utils */ const bcrypt = require('bcryptjs') /** * Validate email address */ const validateEmailAddress = (email) => { var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ return re.test(String(email).toLowerCase()) } /** * Hash password * @param {*} user */ const hashPassword = (password) => { const salt = bcrypt.genSaltSync(10) return bcrypt.hashSync(password, salt) } /** * Compare password */ const comparePassword = (candidatePassword, trustedPassword) => { return bcrypt.compareSync(candidatePassword, trustedPassword) } module.exports = { hashPassword, comparePassword, validateEmailAddress }