diff options
author | lowercasename <raphaelkabo@gmail.com> | 2020-06-12 18:12:39 +0100 |
---|---|---|
committer | lowercasename <raphaelkabo@gmail.com> | 2020-06-12 18:12:39 +0100 |
commit | 07da80f044f9d3a305df6d96ee38913f1c36be87 (patch) | |
tree | 154a17ff938e1a181e3b208324b5abc43670b706 | |
parent | 2ae20b09e6369202b4235b7fced87cc0daf6dff5 (diff) |
Switch over shortid to nanoid
-rw-r--r-- | activitypub.js | 7 | ||||
-rw-r--r-- | package-lock.json | 26 | ||||
-rw-r--r-- | package.json | 4 | ||||
-rwxr-xr-x | routes.js | 18 |
4 files changed, 25 insertions, 30 deletions
diff --git a/activitypub.js b/activitypub.js index 765bee1..8ec2ee5 100644 --- a/activitypub.js +++ b/activitypub.js @@ -5,7 +5,10 @@ const isFederated = require('./config/domain.js').isFederated; const request = require('request'); const addToLog = require('./helpers.js').addToLog; const crypto = require('crypto'); -const shortid = require('shortid'); +// This alphabet (used to generate all event, group, etc. IDs) is missing '-' +// because ActivityPub doesn't like it in IDs +const nanoid = require('nanoid/generate'); +const alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'; var moment = require('moment-timezone'); const mongoose = require('mongoose'); const Event = mongoose.model('Event'); @@ -802,7 +805,7 @@ function _handleCreateNoteComment(req, res) { if (ourEvents.length === 1) { let eventID = ourEvents[0]; // add comment - let commentID = shortid.generate(); + let commentID = nanoid(alphabet, 21); // get the actor for the commenter request({ url: req.body.actor, diff --git a/package-lock.json b/package-lock.json index f83cdeb..6fda918 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2623,7 +2623,7 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, @@ -2701,7 +2701,7 @@ }, "got": { "version": "6.7.1", - "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { @@ -3214,7 +3214,7 @@ }, "is-obj": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, @@ -3840,9 +3840,9 @@ "dev": true }, "nanoid": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.9.tgz", - "integrity": "sha512-J2X7aUpdmTlkAuSe9WaQ5DsTZZPW1r/zmEWKsGhbADO6Gm9FMd2ZzJ8NhsmP4OtA9oFhXfxNqPlreHEDOGB4sg==" + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.9.tgz", + "integrity": "sha512-fFiXlFo4Wkuei3i6w9SQI6yuzGRTGi8Z2zZKZpUxv/bQlBi4jtbVPBSNFZHQA9PNjofWqtIa8p+pnsc0kgZrhQ==" }, "nanomatch": { "version": "1.2.13", @@ -4423,7 +4423,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", @@ -4642,7 +4642,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { @@ -4776,14 +4776,6 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, - "shortid": { - "version": "2.2.15", - "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.15.tgz", - "integrity": "sha512-5EaCy2mx2Jgc/Fdn9uuDuNIIfWBpzY4XIlhoqtXF6qsf+/+SGZ+FxDdX/ZsMZiWupIWNqAEmiNY4RC+LSmCeOw==", - "requires": { - "nanoid": "^2.1.0" - } - }, "sift": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz", @@ -5058,7 +5050,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, diff --git a/package.json b/package.json index 651eac0..b7fab6c 100644 --- a/package.json +++ b/package.json @@ -34,11 +34,11 @@ "moment-timezone": "^0.5.26", "mongoose": "^5.7.5", "multer": "^1.4.1", + "nanoid": "^3.1.9", "node-schedule": "^1.3.1", "randomstring": "^1.1.5", "request": "^2.88.0", - "sanitize-html": "^1.20.1", - "shortid": "^2.2.15" + "sanitize-html": "^1.20.1" }, "devDependencies": { "eslint": "^6.1.0", @@ -4,7 +4,10 @@ const express = require('express'); const mongoose = require('mongoose'); -const shortid = require('shortid'); +// This alphabet (used to generate all event, group, etc. IDs) is missing '-' +// because ActivityPub doesn't like it in IDs +const nanoid = require('nanoid/generate'); +const alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'; const randomstring = require("randomstring"); @@ -625,10 +628,7 @@ router.get('/exportevent/:eventID', (req, res) => { router.post('/newevent', async (req, res) => { - let eventID = shortid.generate(); - // this is a hack, activitypub does not like "-" in ids so we are essentially going - // to have a 63-character alphabet instead of a 64-character one - eventID = eventID.replace(/-/g,'_'); + let eventID = nanoid(alphabet, 21); let editToken = randomstring.generate(); let eventImageFilename = ""; let isPartOfEventGroup = false; @@ -717,7 +717,7 @@ router.post('/newevent', async (req, res) => { }); router.post('/importevent', (req, res) => { - let eventID = shortid.generate(); + let eventID = nanoid(alphabet, 21); let editToken = randomstring.generate(); if (req.files && Object.keys(req.files).length !== 0) { let iCalObject = ical.parseICS(req.files.icsImportControl.data.toString('utf8')); @@ -788,7 +788,7 @@ router.post('/importevent', (req, res) => { }); router.post('/neweventgroup', (req, res) => { - let eventGroupID = shortid.generate(); + let eventGroupID = nanoid(alphabet, 21); let editToken = randomstring.generate(); let eventGroupImageFilename = ""; if (req.files && Object.keys(req.files).length !== 0) { @@ -1395,7 +1395,7 @@ router.post('/removeattendee/:eventID/:attendeeID', (req, res) => { }); router.post('/post/comment/:eventID', (req, res) => { - let commentID = shortid.generate(); + let commentID = nanoid(alphabet, 21); const newComment = { id: commentID, author: req.body.commentAuthor, @@ -1459,7 +1459,7 @@ router.post('/post/comment/:eventID', (req, res) => { }); router.post('/post/reply/:eventID/:commentID', (req, res) => { - let replyID = shortid.generate(); + let replyID = nanoid(alphabet, 21); let commentID = req.params.commentID; const newReply = { id: replyID, |