From fa89b18d95f1639ec600716a2f715d2ab038c770 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Mon, 26 Sep 2022 12:53:56 +1000 Subject: Rearrange assets a bit, fix anything that uses assets folder --- src/api/middlewares/TestClient.ts | 18 ++++++++++-------- src/api/middlewares/Translation.ts | 8 +++++--- src/api/routes/guilds/#guild_id/widget.png.ts | 2 +- 3 files changed, 16 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/api/middlewares/TestClient.ts b/src/api/middlewares/TestClient.ts index 0bd63eb5..765059c7 100644 --- a/src/api/middlewares/TestClient.ts +++ b/src/api/middlewares/TestClient.ts @@ -5,10 +5,12 @@ import fetch, { Response as FetchResponse } from "node-fetch"; import ProxyAgent from 'proxy-agent'; import { Config } from "@fosscord/util"; +const ASSET_FOLDER_PATH = path.join(__dirname, "..", "..", "..", "assets"); + export default function TestClient(app: Application) { const agent = new ProxyAgent(); const assetCache = new Map(); - const indexHTML = fs.readFileSync(path.join(__dirname, "..", "..", "..", "assets", "client_test", "index.html"), { encoding: "utf8" }); + const indexHTML = fs.readFileSync(path.join(ASSET_FOLDER_PATH, "client_test", "index.html"), { encoding: "utf8" }); var html = indexHTML; const CDN_ENDPOINT = (Config.get().cdn.endpointClient || Config.get()?.cdn.endpointPublic || process.env.CDN || "").replace( @@ -24,24 +26,24 @@ export default function TestClient(app: Application) { html = html.replace(/GATEWAY_ENDPOINT: .+/, `GATEWAY_ENDPOINT: \`${GATEWAY_ENDPOINT}\`,`); } // inline plugins - var files = fs.readdirSync(path.join(__dirname, "..", "..", "..", "assets", "preload-plugins")); + var files = fs.readdirSync(path.join(ASSET_FOLDER_PATH, "preload-plugins")); var plugins = ""; - files.forEach(x => { if (x.endsWith(".js")) plugins += `\n`; }); + files.forEach(x => { if (x.endsWith(".js")) plugins += `\n`; }); html = html.replaceAll("", plugins); // plugins - files = fs.readdirSync(path.join(__dirname, "..", "..", "..", "assets", "plugins")); + files = fs.readdirSync(path.join(ASSET_FOLDER_PATH, "plugins")); plugins = ""; files.forEach(x => { if (x.endsWith(".js")) plugins += `\n`; }); html = html.replaceAll("", plugins); //preload plugins - files = fs.readdirSync(path.join(__dirname, "..", "..", "..", "assets", "preload-plugins")); + files = fs.readdirSync(path.join(ASSET_FOLDER_PATH, "preload-plugins")); plugins = ""; - files.forEach(x => { if (x.endsWith(".js")) plugins += `\n`; }); + files.forEach(x => { if (x.endsWith(".js")) plugins += `\n`; }); html = html.replaceAll("", plugins); - app.use("/assets", express.static(path.join(__dirname, "..", "..", "assets"))); + app.use("/assets", express.static(path.join(ASSET_FOLDER_PATH, "public"))); app.get("/assets/:file", async (req: Request, res: Response) => { delete req.headers.host; @@ -90,7 +92,7 @@ export default function TestClient(app: Application) { if (!useTestClient) return res.send("Test client is disabled on this instance. Use a stand-alone client to connect this instance."); - res.send(fs.readFileSync(path.join(__dirname, "..", "..", "client_test", "developers.html"), { encoding: "utf8" })); + res.send(fs.readFileSync(path.join(ASSET_FOLDER_PATH, "client_test", "developers.html"), { encoding: "utf8" })); }); app.get("*", (req: Request, res: Response) => { const { useTestClient } = Config.get().client; diff --git a/src/api/middlewares/Translation.ts b/src/api/middlewares/Translation.ts index 741d6baf..c0b7a4b8 100644 --- a/src/api/middlewares/Translation.ts +++ b/src/api/middlewares/Translation.ts @@ -5,9 +5,11 @@ import i18nextMiddleware from "i18next-http-middleware"; import i18nextBackend from "i18next-node-fs-backend"; import { Router } from "express"; +const ASSET_FOLDER_PATH = path.join(__dirname, "..", "..", "..", "assets"); + export async function initTranslation(router: Router) { - const languages = fs.readdirSync(path.join(__dirname, "..", "..", "..", "assets", "locales")); - const namespaces = fs.readdirSync(path.join(__dirname, "..", "..", "..", "assets", "locales", "en")); + const languages = fs.readdirSync(path.join(ASSET_FOLDER_PATH, "locales")); + const namespaces = fs.readdirSync(path.join(ASSET_FOLDER_PATH, "locales", "en")); const ns = namespaces.filter((x) => x.endsWith(".json")).map((x) => x.slice(0, x.length - 5)); await i18next @@ -19,7 +21,7 @@ export async function initTranslation(router: Router) { fallbackLng: "en", ns, backend: { - loadPath: __dirname + "/../../locales/{{lng}}/{{ns}}.json" + loadPath: path.join(ASSET_FOLDER_PATH, "locales") + "/{{lng}}/{{ns}}.json", }, load: "all" }); diff --git a/src/api/routes/guilds/#guild_id/widget.png.ts b/src/api/routes/guilds/#guild_id/widget.png.ts index 721b59fb..c17d511e 100644 --- a/src/api/routes/guilds/#guild_id/widget.png.ts +++ b/src/api/routes/guilds/#guild_id/widget.png.ts @@ -34,7 +34,7 @@ router.get("/", route({}), async (req: Request, res: Response) => { const sizeOf = require("image-size"); // TODO: Widget style templates need Fosscord branding - const source = path.join(__dirname, "..", "..", "..", "..", "assets", "widget", `${style}.png`); + const source = path.join(__dirname, "..", "..", "..", "..", "..", "assets", "widget", `${style}.png`); if (!fs.existsSync(source)) { throw new HTTPError("Widget template does not exist.", 400); } -- cgit 1.4.1