35 lines
748 B
JavaScript
35 lines
748 B
JavaScript
/**
|
|
* 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
|
|
} |