mirror of https://github.com/louislam/uptime-kuma
				
				
				
			
		
			
				
	
	
		
			33 lines
		
	
	
		
			959 B
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			959 B
		
	
	
	
		
			JavaScript
		
	
	
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<void>}
 | 
						|
     */
 | 
						|
    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<void>}
 | 
						|
     */
 | 
						|
    async resetPassword(newPassword) {
 | 
						|
        await User.resetPassword(this.id, newPassword);
 | 
						|
        this.password = newPassword;
 | 
						|
    }
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
module.exports = User;
 |