summary refs log tree commit diff
path: root/util/src/util/cdn.ts
diff options
context:
space:
mode:
Diffstat (limited to 'util/src/util/cdn.ts')
-rw-r--r--util/src/util/cdn.ts23
1 files changed, 19 insertions, 4 deletions
diff --git a/util/src/util/cdn.ts b/util/src/util/cdn.ts

index 2de23f5d..8d45f85f 100644 --- a/util/src/util/cdn.ts +++ b/util/src/util/cdn.ts
@@ -25,15 +25,30 @@ export async function uploadFile(path: string, file: Express.Multer.File) { return result; } -export async function handleFile(path: string, body?: string): Promise<string | undefined> { - if (!body || !body.startsWith("data:")) return body; +export async function handleFile( + path: string, + body?: string +): Promise< + | (string & { + id: string; + content_type: string; + size: number; + url: string; + }) + | undefined +> { + if (!body || !body.startsWith("data:")) return undefined; 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; + const file = await uploadFile(path, { buffer, mimetype, originalname: "banner" }); + const obj = file.id; + for (const key in file) { + obj[key] = file[key]; + } + return obj; } catch (error) { console.error(error); throw new HTTPError("Invalid " + path);