sticker events

This commit is contained in:
Flam3rboy
2021-10-15 18:39:28 +02:00
parent 34e2392b48
commit a64f79afda
2 changed files with 37 additions and 1 deletions

View File

@@ -1,4 +1,14 @@
import { handleFile, Member, Snowflake, Sticker, StickerFormatType, StickerType, uploadFile } from "@fosscord/util";
import {
emitEvent,
GuildStickersUpdateEvent,
handleFile,
Member,
Snowflake,
Sticker,
StickerFormatType,
StickerType,
uploadFile
} from "@fosscord/util";
import { Router, Request, Response } from "express";
import { route } from "@fosscord/api";
import multer from "multer";
@@ -44,6 +54,8 @@ router.post(
uploadFile(`/stickers/${id}`, req.file)
]);
await sendStickerUpdateEvent(guild_id);
res.json(sticker);
}
);
@@ -94,14 +106,28 @@ router.patch(
const body = req.body as ModifyGuildStickerSchema;
const sticker = await new Sticker({ ...body, guild_id, id: sticker_id }).save();
await sendStickerUpdateEvent(guild_id);
return res.json(sticker);
}
);
async function sendStickerUpdateEvent(guild_id: string) {
return emitEvent({
event: "GUILD_STICKERS_UPDATE",
guild_id: guild_id,
data: {
guild_id: guild_id,
stickers: await Sticker.find({ guild_id: guild_id })
}
} as GuildStickersUpdateEvent);
}
router.delete("/:sticker_id", route({ permission: "MANAGE_EMOJIS_AND_STICKERS" }), async (req: Request, res: Response) => {
const { guild_id, sticker_id } = req.params;
await Sticker.delete({ guild_id, id: sticker_id });
await sendStickerUpdateEvent(guild_id);
return res.sendStatus(204);
});