summary refs log tree commit diff
path: root/src/cdn
diff options
context:
space:
mode:
Diffstat (limited to 'src/cdn')
-rw-r--r--src/cdn/Server.ts6
-rw-r--r--src/cdn/index.ts4
-rw-r--r--src/cdn/routes/attachments.ts6
-rw-r--r--src/cdn/routes/avatars.ts6
-rw-r--r--src/cdn/routes/embed.ts44
-rw-r--r--src/cdn/routes/guild-profiles.ts6
-rw-r--r--src/cdn/routes/ping.ts4
-rw-r--r--src/cdn/routes/role-icons.ts6
-rw-r--r--src/cdn/start.ts4
-rw-r--r--src/cdn/util/FileStorage.ts4
-rw-r--r--src/cdn/util/S3Storage.ts4
-rw-r--r--src/cdn/util/Storage.ts4
-rw-r--r--src/cdn/util/index.ts4
-rw-r--r--src/cdn/util/multer.ts4
14 files changed, 67 insertions, 39 deletions
diff --git a/src/cdn/Server.ts b/src/cdn/Server.ts
index 37317bff..255452a0 100644
--- a/src/cdn/Server.ts
+++ b/src/cdn/Server.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
@@ -17,7 +17,7 @@
 */
 
 import { Server, ServerOptions } from "lambert-server";
-import { Config, initDatabase, registerRoutes, Sentry } from "@fosscord/util";
+import { Config, initDatabase, registerRoutes, Sentry } from "@spacebar/util";
 import path from "path";
 import avatarsRoute from "./routes/avatars";
 import guildProfilesRoute from "./routes/guild-profiles";
diff --git a/src/cdn/index.ts b/src/cdn/index.ts
index 0c06b8d1..dea9942b 100644
--- a/src/cdn/index.ts
+++ b/src/cdn/index.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
diff --git a/src/cdn/routes/attachments.ts b/src/cdn/routes/attachments.ts
index 398a243f..19bb0b90 100644
--- a/src/cdn/routes/attachments.ts
+++ b/src/cdn/routes/attachments.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
@@ -17,7 +17,7 @@
 */
 
 import { Router, Response, Request } from "express";
-import { Config, Snowflake } from "@fosscord/util";
+import { Config, Snowflake } from "@spacebar/util";
 import { storage } from "../util/Storage";
 import FileType from "file-type";
 import { HTTPError } from "lambert-server";
diff --git a/src/cdn/routes/avatars.ts b/src/cdn/routes/avatars.ts
index 7dc23d60..6af3243f 100644
--- a/src/cdn/routes/avatars.ts
+++ b/src/cdn/routes/avatars.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
@@ -17,7 +17,7 @@
 */
 
 import { Router, Response, Request } from "express";
-import { Config, Snowflake } from "@fosscord/util";
+import { Config, Snowflake } from "@spacebar/util";
 import { storage } from "../util/Storage";
 import FileType from "file-type";
 import { HTTPError } from "lambert-server";
diff --git a/src/cdn/routes/embed.ts b/src/cdn/routes/embed.ts
index fd13d215..9d3469cd 100644
--- a/src/cdn/routes/embed.ts
+++ b/src/cdn/routes/embed.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
@@ -23,12 +23,23 @@ import { HTTPError } from "lambert-server";
 import { join } from "path";
 
 const defaultAvatarHashMap = new Map([
-	["0", "1f0bfc0865d324c2587920a7d80c609b"],
-	["1", "c09a43a372ba81e3018c3151d4ed4773"],
-	["2", "7c8f476123d28d103efe381543274c25"],
-	["3", "6f26ddd1bf59740c536d2274bb834a05"],
-	["4", "3c6ccb83716d1e4fb91d3082f6b21d77"],
-	["5", "4c1b599b1ef5b9f1874fdb9933f3e03b"],
+	["0", "823a3de61c4dc2415cc4dbc38fca4299"],
+	["1", "e56a89224be0b2b1f7c04eca975be468"],
+	["2", "0c8138dcc0dfe2689cdd73f7952c2475"],
+	["3", "5ac2728593bb455250d11b848a0c36c6"],
+	["4", "addd2f3268df46459e1d6012ad8e75bd"],
+	["5", "c4e0c8300fa491d94acfd2a1fb26cea8"],
+]);
+
+const defaultGroupDMAvatarHashMap = new Map([
+	["0", "3b70bb66089c60f8be5e214bf8574c9d"],
+	["1", "9581acd31832465bdeaa5385b0e919a3"],
+	["2", "a8a4727cf2dc2939bd3c657fad4463fa"],
+	["3", "2e46fe14586f8e95471c0917f56726b5"],
+	["4", "fac7e78de9753d4a37083bba74c1d9ef"],
+	["5", "4ab900144b0865430dc9be825c838faa"],
+	["6", "1276374a404452756f3c9cc2601508a5"],
+	["7", "904bf9f1b61f53ef4a3b7a893afeabe3"],
 ]);
 
 const router = Router();
@@ -64,4 +75,21 @@ router.get("/avatars/:id", async (req: Request, res: Response) => {
 	return res.send(file);
 });
 
+router.get("/group-avatars/:id", async (req: Request, res: Response) => {
+	let { id } = req.params;
+	id = id.split(".")[0]; // remove .file extension
+	const hash = defaultGroupDMAvatarHashMap.get(id);
+	if (!hash) throw new HTTPError("not found", 404);
+	const path = join(process.cwd(), "assets", "public", `${hash}.png`);
+
+	const file = await getFile(path);
+	if (!file) throw new HTTPError("not found", 404);
+	const type = await FileType.fromBuffer(file);
+
+	res.set("Content-Type", type?.mime);
+	res.set("Cache-Control", "public, max-age=31536000");
+
+	return res.send(file);
+});
+
 export default router;
diff --git a/src/cdn/routes/guild-profiles.ts b/src/cdn/routes/guild-profiles.ts
index ae8786ae..1ee5eeca 100644
--- a/src/cdn/routes/guild-profiles.ts
+++ b/src/cdn/routes/guild-profiles.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
@@ -16,7 +16,7 @@
 	along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */
 
-import { Config, Snowflake } from "@fosscord/util";
+import { Config, Snowflake } from "@spacebar/util";
 import crypto from "crypto";
 import { Request, Response, Router } from "express";
 import FileType from "file-type";
diff --git a/src/cdn/routes/ping.ts b/src/cdn/routes/ping.ts
index 682c38cc..e68738e7 100644
--- a/src/cdn/routes/ping.ts
+++ b/src/cdn/routes/ping.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
diff --git a/src/cdn/routes/role-icons.ts b/src/cdn/routes/role-icons.ts
index 8f10ab78..c7fb6e1a 100644
--- a/src/cdn/routes/role-icons.ts
+++ b/src/cdn/routes/role-icons.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
@@ -17,7 +17,7 @@
 */
 
 import { Router, Response, Request } from "express";
-import { Config, Snowflake } from "@fosscord/util";
+import { Config, Snowflake } from "@spacebar/util";
 import { storage } from "../util/Storage";
 import FileType from "file-type";
 import { HTTPError } from "lambert-server";
diff --git a/src/cdn/start.ts b/src/cdn/start.ts
index c36a6b73..d793077d 100644
--- a/src/cdn/start.ts
+++ b/src/cdn/start.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
diff --git a/src/cdn/util/FileStorage.ts b/src/cdn/util/FileStorage.ts
index ee087c85..10b36743 100644
--- a/src/cdn/util/FileStorage.ts
+++ b/src/cdn/util/FileStorage.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
diff --git a/src/cdn/util/S3Storage.ts b/src/cdn/util/S3Storage.ts
index 480fd9fd..81acd945 100644
--- a/src/cdn/util/S3Storage.ts
+++ b/src/cdn/util/S3Storage.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
diff --git a/src/cdn/util/Storage.ts b/src/cdn/util/Storage.ts
index 0d55bbd0..26289af6 100644
--- a/src/cdn/util/Storage.ts
+++ b/src/cdn/util/Storage.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
diff --git a/src/cdn/util/index.ts b/src/cdn/util/index.ts
index 4574fb10..ba249845 100644
--- a/src/cdn/util/index.ts
+++ b/src/cdn/util/index.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published
diff --git a/src/cdn/util/multer.ts b/src/cdn/util/multer.ts
index 5e0e4473..337494e9 100644
--- a/src/cdn/util/multer.ts
+++ b/src/cdn/util/multer.ts
@@ -1,6 +1,6 @@
 /*
-	Fosscord: A FOSS re-implementation and extension of the Discord.com backend.
-	Copyright (C) 2023 Fosscord and Fosscord Contributors
+	Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+	Copyright (C) 2023 Spacebar and Spacebar Contributors
 	
 	This program is free software: you can redistribute it and/or modify
 	it under the terms of the GNU Affero General Public License as published