ソースを参照

update nanoid

Pouria Ezzati 1 年間 前
コミット
2afc1186ad
4 ファイル変更30 行追加14 行削除
  1. 17 5
      package-lock.json
  2. 1 1
      package.json
  3. 1 1
      server/handlers/auth.handler.js
  4. 11 7
      server/utils/utils.js

+ 17 - 5
package-lock.json

@@ -30,7 +30,7 @@
         "morgan": "1.10.0",
         "ms": "2.1.3",
         "mysql2": "3.11.3",
-        "nanoid": "2.1.11",
+        "nanoid": "3.3.8",
         "node-cron": "3.0.2",
         "nodemailer": "^6.9.15",
         "passport": "0.7.0",
@@ -4454,10 +4454,22 @@
       }
     },
     "node_modules/nanoid": {
-      "version": "2.1.11",
-      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz",
-      "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==",
-      "license": "MIT"
+      "version": "3.3.8",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
+      "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "license": "MIT",
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
+      "engines": {
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+      }
     },
     "node_modules/napi-build-utils": {
       "version": "1.0.2",

+ 1 - 1
package.json

@@ -47,7 +47,7 @@
     "morgan": "1.10.0",
     "ms": "2.1.3",
     "mysql2": "3.11.3",
-    "nanoid": "2.1.11",
+    "nanoid": "3.3.8",
     "node-cron": "3.0.2",
     "nodemailer": "^6.9.15",
     "passport": "0.7.0",

+ 1 - 1
server/handlers/auth.handler.js

@@ -1,8 +1,8 @@
 const { differenceInDays, differenceInMinutes, addMinutes, subMinutes } = require("date-fns");
+const { nanoid } = require("nanoid");
 const passport = require("passport");
 const { v4: uuid } = require("uuid");
 const bcrypt = require("bcryptjs");
-const nanoid = require("nanoid");
 
 const { ROLES } = require("../consts");
 const query = require("../queries");

+ 11 - 7
server/utils/utils.js

@@ -1,5 +1,5 @@
 const { differenceInDays, differenceInHours, differenceInMonths, differenceInMilliseconds, addDays, subHours, subDays, subMonths, subYears, format } = require("date-fns");
-const nanoid = require("nanoid/generate");
+const { customAlphabet } = require("nanoid");
 const JWT = require("jsonwebtoken");
 const path = require("path");
 const hbs = require("hbs");
@@ -10,6 +10,11 @@ const knexUtils = require("./knex");
 const knex = require("../knex");
 const env = require("../env");
 
+const nanoid = customAlphabet(
+  "abcdefghkmnpqrstuvwxyzABCDEFGHKLMNPQRSTUVWXYZ23456789",
+  env.LINK_LENGTH
+);
+
 class CustomError extends Error {
   constructor(message, statusCode, data) {
     super(message);
@@ -50,13 +55,12 @@ function deleteCurrentToken(res) {
 }
 
 async function generateId(query, domain_id) {
-  const address = nanoid(
-    "abcdefghkmnpqrstuvwxyzABCDEFGHKLMNPQRSTUVWXYZ23456789",
-    env.LINK_LENGTH
-  );
+  const address = nanoid();
   const link = await query.link.find({ address, domain_id });
-  if (!link) return address;
-  return generateId(domain_id);
+  if (link) {
+    return generateId(query, domain_id)
+  };
+  return address;
 }
 
 function addProtocol(url) {