Browse Source

fix(backend): few quick bug fixes, jobs must return a promise

Signed-off-by: Jonathan <theflametrooper@gmail.com>
Jonathan 4 years ago
parent
commit
9719a8bdc6
2 changed files with 19 additions and 11 deletions
  1. 1 1
      backend/logic/playlists.js
  2. 18 10
      backend/logic/utils.js

+ 1 - 1
backend/logic/playlists.js

@@ -15,7 +15,7 @@ class PlaylistsModule extends CoreClass {
 		this.utils = this.moduleManager.modules.utils;
 
 		const playlistModel = await this.db.runJob("GET_MODEL", { modelName: "playlist" });
-		const playlistSchema = await this.db.runJob("GET_SCHEMA", { schemaName: "playlist" });
+		const playlistSchema = await this.cache.runJob("GET_SCHEMA", { schemaName: "playlist" });
 
 		this.setStage(2);
 

+ 18 - 10
backend/logic/utils.js

@@ -90,19 +90,25 @@ class UtilsModule extends CoreClass {
 		// length
 
 		const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split("");
-		const result = [];
+
+		const promises = [];
 		for (let i = 0; i < payload.length; i += 1) {
-			result.push(
-				chars[
-					this.runJob("GET_RANDOM_NUMBER", {
-						min: 0,
-						max: chars.length - 1
-					})
-				]
+			promises.push(
+				this.runJob("GET_RANDOM_NUMBER", {
+					min: 0,
+					max: chars.length - 1
+				})
 			);
 		}
 
-		return new Promise(resolve => resolve(result.join("")));
+		const randomNums = await Promise.all(promises);
+
+		const randomChars = [];
+		for (let i = 0; i < payload.length; i += 1) {
+			randomChars.push(chars[randomNums[i]]);
+		}
+
+		return new Promise(resolve => resolve(randomChars.join("")));
 	}
 
 	async GET_SOCKET_FROM_ID(payload) {
@@ -114,7 +120,9 @@ class UtilsModule extends CoreClass {
 
 	GET_RANDOM_NUMBER(payload) {
 		// min, max
-		return Math.floor(Math.random() * (payload.max - payload.min + 1)) + payload.min;
+		return new Promise(resolve =>
+			resolve(Math.floor(Math.random() * (payload.max - payload.min + 1)) + payload.min)
+		);
 	}
 
 	CONVERT_TIME(payload) {