From d10d8a497354bb3038cf54dd6a5bce491ca6157f Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Thu, 26 Jan 2023 20:04:21 +0000 Subject: [PATCH] use `global.nanoid` --- .../controllers/FilesController/services/uploadBodyFiles.js | 3 +-- .../StreamingController/services/generateStreamingKey.js | 4 +--- packages/server/src/index.js | 3 +++ packages/server/src/lib/token/index.js | 3 +-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/server/src/controllers/FilesController/services/uploadBodyFiles.js b/packages/server/src/controllers/FilesController/services/uploadBodyFiles.js index 1d49a9f0..33e120cd 100755 --- a/packages/server/src/controllers/FilesController/services/uploadBodyFiles.js +++ b/packages/server/src/controllers/FilesController/services/uploadBodyFiles.js @@ -1,7 +1,6 @@ import path from "path" import fs from "fs" import { videoTranscode } from "../../../lib/videoTranscode" -import { nanoid } from "nanoid" import Jimp from "jimp" import pmap from "../../../utils/pMap" @@ -93,7 +92,7 @@ export default async (payload) => { maxFileSize: params.maxFileSize, maxFields: params.maxFields, filename: (name, ext) => { - name = nanoid() + name = global.nanoid() return name + ext }, diff --git a/packages/server/src/controllers/StreamingController/services/generateStreamingKey.js b/packages/server/src/controllers/StreamingController/services/generateStreamingKey.js index 26585e8d..3850a4ff 100644 --- a/packages/server/src/controllers/StreamingController/services/generateStreamingKey.js +++ b/packages/server/src/controllers/StreamingController/services/generateStreamingKey.js @@ -1,5 +1,3 @@ -import { nanoid } from "nanoid" - import { StreamingKey, User } from "@models" export default async (user_id) => { @@ -12,7 +10,7 @@ export default async (user_id) => { const streamingKey = new StreamingKey({ user_id, username: userData.username, - key: nanoid() + key: global.nanoid() }) await streamingKey.save() diff --git a/packages/server/src/index.js b/packages/server/src/index.js index 8bec21d0..2d23a1e7 100755 --- a/packages/server/src/index.js +++ b/packages/server/src/index.js @@ -1,4 +1,5 @@ require("dotenv").config() +const crypto = require("node:crypto") // patches const { Buffer } = require("buffer") @@ -10,6 +11,8 @@ global.b64Encode = (data) => { return Buffer.from(data, "utf-8").toString("base64") } +global.nanoid = (t = 21) => crypto.getRandomValues(new Uint8Array(t)).reduce(((t, e) => t += (e &= 63) < 36 ? e.toString(36) : e < 62 ? (e - 26).toString(36).toUpperCase() : e > 62 ? "-" : "_"), ""); + Array.prototype.updateFromObjectKeys = function (obj) { this.forEach((value, index) => { if (obj[value] !== undefined) { diff --git a/packages/server/src/lib/token/index.js b/packages/server/src/lib/token/index.js index 875ea028..bc1dab82 100755 --- a/packages/server/src/lib/token/index.js +++ b/packages/server/src/lib/token/index.js @@ -1,5 +1,4 @@ import jwt from "jsonwebtoken" -import { nanoid } from "nanoid" import { Session, RegenerationToken } from "../../models" export async function regenerateSession(expiredToken, refreshToken) { @@ -139,7 +138,7 @@ export async function signNewAuthToken(payload, options = {}) { payload.session_uuid = sessionData.session_uuid } else { - payload.session_uuid = nanoid() + payload.session_uuid = global.nanoid() } const token = jwt.sign(payload, global.jwtStrategy.secretOrKey, {