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);
|