summary refs log tree commit diff
path: root/api
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-09-25 23:55:19 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-09-25 23:55:19 +0200
commit286b4a69fd1a4a232afaea69aa29724cd7c53746 (patch)
tree3699f48e6874af5919af66e2878c5513be815a95 /api
parent:bug: message attachment url (diff)
downloadserver-286b4a69fd1a4a232afaea69aa29724cd7c53746.tar.xz
:sparkles: add private and public endpoint
Diffstat (limited to 'api')
-rw-r--r--api/src/middlewares/TestClient.ts4
-rw-r--r--api/src/routes/gateway.ts8
-rw-r--r--api/src/util/cdn.ts53
3 files changed, 6 insertions, 59 deletions
diff --git a/api/src/middlewares/TestClient.ts b/api/src/middlewares/TestClient.ts

index 79f8f442..7db35285 100644 --- a/api/src/middlewares/TestClient.ts +++ b/api/src/middlewares/TestClient.ts
@@ -9,11 +9,11 @@ export default function TestClient(app: Application) { const indexHTML = fs.readFileSync(path.join(__dirname, "..", "..", "client_test", "index.html"), { encoding: "utf8" }); var html = indexHTML; - const CDN_ENDPOINT = (Config.get().cdn.endpointClient || Config.get()?.cdn.endpoint || process.env.CDN || "").replace( + const CDN_ENDPOINT = (Config.get().cdn.endpointClient || Config.get()?.cdn.endpointPublic || process.env.CDN || "").replace( /(https?)?(:\/\/?)/g, "" ); - const GATEWAY_ENDPOINT = Config.get().gateway.endpointClient || Config.get()?.gateway.endpoint || process.env.GATEWAY || ""; + const GATEWAY_ENDPOINT = Config.get().gateway.endpointClient || Config.get()?.gateway.endpointPublic || process.env.GATEWAY || ""; if (CDN_ENDPOINT) { html = html.replace(/CDN_HOST: .+/, `CDN_HOST: \`${CDN_ENDPOINT}\`,`); diff --git a/api/src/routes/gateway.ts b/api/src/routes/gateway.ts
index 88d9dfda..4b3a0ea6 100644 --- a/api/src/routes/gateway.ts +++ b/api/src/routes/gateway.ts
@@ -5,14 +5,14 @@ import { route } from "@fosscord/api"; const router = Router(); router.get("/", route({}), (req: Request, res: Response) => { - const { endpoint } = Config.get().gateway; - res.json({ url: endpoint || process.env.GATEWAY || "ws://localhost:3002" }); + const { endpointPublic } = Config.get().gateway; + res.json({ url: endpointPublic || process.env.GATEWAY || "ws://localhost:3002" }); }); router.get("/bot", route({}), (req: Request, res: Response) => { - const { endpoint } = Config.get().gateway; + const { endpointPublic } = Config.get().gateway; res.json({ - url: endpoint || process.env.GATEWAY || "ws://localhost:3002", + url: endpointPublic || process.env.GATEWAY || "ws://localhost:3002", shards: 1, session_start_limit: { total: 1000, diff --git a/api/src/util/cdn.ts b/api/src/util/cdn.ts deleted file mode 100644
index 8c6e9ac9..00000000 --- a/api/src/util/cdn.ts +++ /dev/null
@@ -1,53 +0,0 @@ -import { Config } from "@fosscord/util"; -import FormData from "form-data"; -import { HTTPError } from "lambert-server"; -import fetch from "node-fetch"; - -export async function uploadFile(path: string, file: Express.Multer.File) { - const form = new FormData(); - form.append("file", file.buffer, { - contentType: file.mimetype, - filename: file.originalname - }); - - const response = await fetch(`${Config.get().cdn.endpoint || "http://localhost:3003"}${path}`, { - headers: { - signature: Config.get().security.requestSignature, - ...form.getHeaders() - }, - method: "POST", - body: form - }); - const result = await response.json(); - - if (response.status !== 200) throw result; - return result; -} - -export async function handleFile(path: string, body?: string): Promise<string | undefined> { - if (!body || !body.startsWith("data:")) return body; - try { - const mimetype = body.split(":")[1].split(";")[0]; - const buffer = Buffer.from(body.split(",")[1], "base64"); - - // @ts-ignore - const { id } = await uploadFile(path, { buffer, mimetype, originalname: "banner" }); - return id; - } catch (error) { - console.error(error); - throw new HTTPError("Invalid " + path); - } -} - -export async function deleteFile(path: string) { - const response = await fetch(`${Config.get().cdn.endpoint || "http://localhost:3003"}${path}`, { - headers: { - signature: Config.get().security.requestSignature - }, - method: "DELETE" - }); - const result = await response.json(); - - if (response.status !== 200) throw result; - return result; -}