From 07da80f044f9d3a305df6d96ee38913f1c36be87 Mon Sep 17 00:00:00 2001 From: lowercasename Date: Fri, 12 Jun 2020 18:12:39 +0100 Subject: Switch over shortid to nanoid --- routes.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'routes.js') diff --git a/routes.js b/routes.js index d6efaaa..abec8c1 100755 --- a/routes.js +++ b/routes.js @@ -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, -- cgit v1.2.3