summary refs log tree commit diff
path: root/src/routes/guilds
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-08-07 19:15:48 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-08-07 19:15:48 +0200
commitc396fac204c6ba9e433d5fcee5d39d03d5985a89 (patch)
tree8f59cf105b412c1141e53739701b46b756758e33 /src/routes/guilds
parentImplemented guild icons and banners (diff)
downloadserver-c396fac204c6ba9e433d5fcee5d39d03d5985a89.tar.xz
:art: add handleFile()
Diffstat (limited to 'src/routes/guilds')
-rw-r--r--src/routes/guilds/#guild_id/index.ts29
1 files changed, 3 insertions, 26 deletions
diff --git a/src/routes/guilds/#guild_id/index.ts b/src/routes/guilds/#guild_id/index.ts

index 051b44c4..a2dfeeda 100644 --- a/src/routes/guilds/#guild_id/index.ts +++ b/src/routes/guilds/#guild_id/index.ts
@@ -17,7 +17,7 @@ import { HTTPError } from "lambert-server"; import { GuildUpdateSchema } from "../../../schema/Guild"; import { emitEvent } from "../../../util/Event"; import { check } from "../../../util/instanceOf"; -import { uploadFile } from "../../../util/cdn"; +import { handleFile } from "../../../util/cdn"; import "missing-native-js-functions"; const router = Router(); @@ -43,31 +43,8 @@ router.patch("/", check(GuildUpdateSchema), async (req: Request, res: Response) const perms = await getPermission(req.user_id, guild_id); perms.hasThrow("MANAGE_GUILD"); - if (body.icon && body.icon.startsWith('data')) { - try { - const mimetype = body.icon.split(":")[1].split(";")[0]; - const buffer = Buffer.from(body.icon.split(",")[1], "base64"); - - // @ts-ignore - const { id } = await uploadFile(`/icons/${guild_id}`, { buffer, mimetype, originalname: "icon" }); - body.icon = id; - } catch (error) { - throw new HTTPError("Invalid icon"); - } - } - - if (body.banner && body.banner.startsWith('data')) { - try { - const mimetype = body.banner.split(":")[1].split(";")[0]; - const buffer = Buffer.from(body.banner.split(",")[1], "base64"); - - // @ts-ignore - const { id } = await uploadFile(`/banners/${guild_id}`, { buffer, mimetype, originalname: "banner" }); - body.banner = id; - } catch (error) { - throw new HTTPError("Invalid banner"); - } - } + body.icon = await handleFile("icons", body.icon); + body.banner = await handleFile("banners", body.banner); const guild = await GuildModel.findOneAndUpdate({ id: guild_id }, body) .populate({ path: "joined_at", match: { id: req.user_id } })