Backend/api/routes/guilds.ts

20 lines
801 B
TypeScript

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;