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(req.user.refreshDate!, 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;