|  |  | @ -31,6 +31,7 @@ debug("Importing prometheus-api-metrics"); | 
			
		
	
		
			
				
					|  |  |  | const prometheusAPIMetrics = require("prometheus-api-metrics"); | 
			
		
	
		
			
				
					|  |  |  | debug("Importing compare-versions"); | 
			
		
	
		
			
				
					|  |  |  | const compareVersions = require("compare-versions"); | 
			
		
	
		
			
				
					|  |  |  | const { passwordStrength } = require("check-password-strength"); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | debug("Importing 2FA Modules"); | 
			
		
	
		
			
				
					|  |  |  | const notp = require("notp"); | 
			
		
	
	
		
			
				
					|  |  | @ -468,6 +469,10 @@ exports.entryPage = "dashboard"; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         socket.on("setup", async (username, password, callback) => { | 
			
		
	
		
			
				
					|  |  |  |             try { | 
			
		
	
		
			
				
					|  |  |  |                 if (passwordStrength(password).value === "Too weak") { | 
			
		
	
		
			
				
					|  |  |  |                     throw new Error("Password is too weak. It should contain alphabetic and numeric characters. It must be at least 6 characters in length."); | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 if ((await R.count("user")) !== 0) { | 
			
		
	
		
			
				
					|  |  |  |                     throw new Error("Uptime Kuma has been initialized. If you want to run setup again, please delete the database."); | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
	
		
			
				
					|  |  | @ -857,10 +862,14 @@ exports.entryPage = "dashboard"; | 
			
		
	
		
			
				
					|  |  |  |             try { | 
			
		
	
		
			
				
					|  |  |  |                 checkLogin(socket); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 if (! password.currentPassword) { | 
			
		
	
		
			
				
					|  |  |  |                 if (! password.newPassword) { | 
			
		
	
		
			
				
					|  |  |  |                     throw new Error("Invalid new password"); | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 if (passwordStrength(password.newPassword).value === "Too weak") { | 
			
		
	
		
			
				
					|  |  |  |                     throw new Error("Password is too weak. It should contain alphabetic and numeric characters. It must be at least 6 characters in length."); | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 let user = await R.findOne("user", " id = ? AND active = 1 ", [ | 
			
		
	
		
			
				
					|  |  |  |                     socket.userID, | 
			
		
	
		
			
				
					|  |  |  |                 ]); | 
			
		
	
	
		
			
				
					|  |  | 
 |