node-user-accounts-boilerplate-nahid/fields/password.js
"use strict";
module.exports.order = 50;
module.exports.type = 'string';
module.exports.mask = true;
module.exports.assign = async function (user, field, value, fieldMeta, loginUser, config)
{
if (typeof value === 'boolean' || value === '')
{
delete user[field];
return
}
if (typeof value !== this.type)
{
throw new Error(`${field} value is not ${this.type}`);
}
if (!config.crypt)
{
throw new Error('A crypt is not configured');
}
const hash = await config.crypt.hash(value);
user[field] = hash;
};