summary refs log tree commit diff
path: root/api/src/util
diff options
context:
space:
mode:
authorErkin Alp Güney <erkinalp9035@gmail.com>2021-11-30 20:33:29 +0300
committerGitHub <noreply@github.com>2021-11-30 20:33:29 +0300
commit96a9c4dff3a2012cebf5a757eacb7ccc8d27b5ed (patch)
treea2d63a11f4e57ff15c5789443de04eff002ecfe5 /api/src/util
parentMerge pull request #519 from erkinalp/master (diff)
downloadserver-96a9c4dff3a2012cebf5a757eacb7ccc8d27b5ed.tar.xz
Fix the type errors
Forgot that you cannot mix and match bigint and float
Diffstat (limited to 'api/src/util')
-rw-r--r--api/src/util/RandomInviteID.ts11
1 files changed, 6 insertions, 5 deletions
diff --git a/api/src/util/RandomInviteID.ts b/api/src/util/RandomInviteID.ts
index 45450b0d..30ba3252 100644
--- a/api/src/util/RandomInviteID.ts
+++ b/api/src/util/RandomInviteID.ts
@@ -16,16 +16,17 @@ export function random(length = 6) {
 export function snowflakeBasedInvite() {
 	// Declare all characters
 	let chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
-	
+	let base = BigInt(chars.length);
 	let snowflake = Snowflake.generateWorkerProcess();
-	
+
 	// snowflakes hold ~10.75 characters worth of entropy;
 	// safe to generate a 8-char invite out of them
 	let str = "";
 	for (let i=0; i < 10; i++) {
-		str += chars.charAt((snowflake % chars.length));
-		snowflake /= chars.length;
+		
+		str += chars.charAt(snowflake % base);
+		snowflake = snowflake / base;
 	}
 	
-	return str.substr(3,8).reverse(); // little-endianise for entropy
+	return str.substr(3,8).split("").reverse().join("");
 }