summaryrefslogtreecommitdiff
path: root/src/util/generator.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/generator.ts')
-rw-r--r--src/util/generator.ts10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/util/generator.ts b/src/util/generator.ts
index c3712c1..882f114 100644
--- a/src/util/generator.ts
+++ b/src/util/generator.ts
@@ -1,5 +1,13 @@
import crypto from "crypto";
+import { customAlphabet } from "nanoid";
+// This alphabet (used to generate all event, group, etc. IDs) is missing '-'
+// because ActivityPub doesn't like it in IDs
+const nanoid = customAlphabet(
+ "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_",
+ 21,
+);
+
const generateAlphanumericString = (length: number) => {
return Array(length)
.fill(0)
@@ -7,6 +15,8 @@ const generateAlphanumericString = (length: number) => {
.join("");
};
+export const generateEventID = () => nanoid();
+
export const generateEditToken = () => generateAlphanumericString(32);
export const generateRSAKeypair = () => {