Files
forgetmenot-django/api/utils/index.js

36 lines
747 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
};