From b795d07ed7a1b705b72b171f8e8de267a720223b Mon Sep 17 00:00:00 2001 From: Raphael Kabo Date: Sat, 7 Oct 2023 14:30:24 +0100 Subject: refactor: event form and api routes --- src/util/generator.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/util/generator.ts (limited to 'src/util/generator.ts') diff --git a/src/util/generator.ts b/src/util/generator.ts new file mode 100644 index 0000000..c3712c1 --- /dev/null +++ b/src/util/generator.ts @@ -0,0 +1,24 @@ +import crypto from "crypto"; + +const generateAlphanumericString = (length: number) => { + return Array(length) + .fill(0) + .map((x) => Math.random().toString(36).charAt(2)) + .join(""); +}; + +export const generateEditToken = () => generateAlphanumericString(32); + +export const generateRSAKeypair = () => { + return crypto.generateKeyPairSync("rsa", { + modulusLength: 4096, + publicKeyEncoding: { + type: "spki", + format: "pem", + }, + privateKeyEncoding: { + type: "pkcs8", + format: "pem", + }, + }); +}; -- cgit v1.2.3 From 499da92303ff1ad66807f373b06ad3040c774eaa Mon Sep 17 00:00:00 2001 From: Raphael Kabo Date: Sat, 7 Oct 2023 18:28:57 +0100 Subject: Move nanoid generator to lib --- src/util/generator.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/util/generator.ts') 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 = () => { -- cgit v1.2.3 From d83652f6f4f8aa6a2dfa141e2ab841150652b090 Mon Sep 17 00:00:00 2001 From: Raphael Kabo Date: Sat, 7 Oct 2023 18:29:20 +0100 Subject: Linting --- src/util/generator.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/util/generator.ts') diff --git a/src/util/generator.ts b/src/util/generator.ts index 882f114..596110d 100644 --- a/src/util/generator.ts +++ b/src/util/generator.ts @@ -1,6 +1,6 @@ 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( -- cgit v1.2.3