20 lines
801 B
TypeScript
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; |