const { BeanModel } = require("redbean-node/dist/bean-model"); const passwordHash = require("../password-hash"); const { R } = require("redbean-node"); class User extends BeanModel { /** * Reset user password * Fix #1510, as in the context reset-password.js, there is no auto model mapping. Call this static function instead. * @param {number} userID ID of user to update * @param {string} newPassword * @returns {Promise} */ static async resetPassword(userID, newPassword) { await R.exec("UPDATE `user` SET password = ? WHERE id = ? ", [ passwordHash.generate(newPassword), userID ]); } /** * Reset this users password * @param {string} newPassword * @returns {Promise} */ async resetPassword(newPassword) { await User.resetPassword(this.id, newPassword); this.password = newPassword; } } module.exports = User;