diff options
author | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2023-03-19 22:08:28 +1100 |
---|---|---|
committer | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2023-03-19 22:11:54 +1100 |
commit | 1fd01fa000bf7d11def26ee7c4114ebfa07d9fa5 (patch) | |
tree | d4e05a4f15ce5e7878e1f2598b5931cfd77251d0 /src | |
parent | Add basic information page to / (diff) | |
parent | Merge pull request #1005 from Xanderplayz18/patch-1 (diff) | |
download | server-1fd01fa000bf7d11def26ee7c4114ebfa07d9fa5.tar.xz |
Merge branch 'master' of github.com:fosscord/fosscord-server
Diffstat (limited to 'src')
-rw-r--r-- | src/api/Server.ts | 4 | ||||
-rw-r--r-- | src/cdn/routes/embed.ts | 40 |
2 files changed, 37 insertions, 7 deletions
diff --git a/src/api/Server.ts b/src/api/Server.ts index dbe61444..6ec531e0 100644 --- a/src/api/Server.ts +++ b/src/api/Server.ts @@ -135,7 +135,9 @@ export class FosscordServer extends Server { app.use("/api/v9", api); app.use("/api", api); // allow unversioned requests - app.get("/", express.static(PUBLIC_ASSETS_FOLDER)); + app.get("/", (req, res) => + res.sendFile(path.join(PUBLIC_ASSETS_FOLDER, "index.html")), + ); this.app.use(ErrorHandler); diff --git a/src/cdn/routes/embed.ts b/src/cdn/routes/embed.ts index fd13d215..d49d69f7 100644 --- a/src/cdn/routes/embed.ts +++ b/src/cdn/routes/embed.ts @@ -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; |