From c6102bcf69f18cda0193dbf6bdc0602ff4df11eb Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Wed, 8 Nov 2023 12:42:38 +0100 Subject: [PATCH] Created the guilds.ts routes --- api/routes/guilds.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 api/routes/guilds.ts diff --git a/api/routes/guilds.ts b/api/routes/guilds.ts new file mode 100644 index 0000000..420b0e6 --- /dev/null +++ b/api/routes/guilds.ts @@ -0,0 +1,20 @@ +import Router, {Response} from 'express'; +import {AuthenticatedRequest, hasRank} from "../middlewares/authenticate"; +import {Rank} from "../../models/User"; +import {getGuilds} from "../../controller/discord"; + + +const app = Router(); + +app.get("/", hasRank(Rank.TEAM_MEMBER), async (req: AuthenticatedRequest, res: Response) => { + getGuilds(new Date(req.user.refreshDate?.getDate()!), req.user.refreshToken, req.user.accessToken).then(guilds => { + res.json(guilds + .filter((guild) => guild.owner || (guild.permissions && (guild.permissions & 0x8))) + .map((guild) => ({id: guild.id, name: guild.name, icon: guild.icon}))); + }).catch((e) => { + console.log(e) + res.status(500).json({message: "An internal error occurred"}) + }); +}); + +module.exports = app; \ No newline at end of file