Merge pull request #675 from nobodylabs/fix/ban-list

Fix(api): working ban list
This commit is contained in:
Erkin Alp Güney 2022-03-08 22:46:14 +03:00 committed by GitHub
commit b1f04543bd

View File

@ -33,21 +33,32 @@ router.get("/", route({ permission: "BAN_MEMBERS" }), async (req: Request, res:
const { guild_id } = req.params; const { guild_id } = req.params;
let bans = await Ban.find({ guild_id: guild_id }); let bans = await Ban.find({ guild_id: guild_id });
let promisesToAwait: object[] = [];
const bansObj: object[] = [];
// pretend self-bans don't exist to prevent victim chasing bans.filter((ban) => ban.user_id !== ban.executor_id); // pretend self-bans don't exist to prevent victim chasing
bans.filter(ban => ban.user_id !== ban.executor_id);
/* Create an separate array to modify and return */ bans.forEach((ban) => {
promisesToAwait.push(User.getPublicUser(ban.user_id));
});
var bans_array: object[] = []; const bannedUsers: object[] = await Promise.all(promisesToAwait);
for (const ban of bans) { bans.forEach((ban, index) => {
const banned_user = await User.getPublicUser(ban.user_id); const user = bannedUsers[index] as User;
var ban_object = {user: {id: banned_user.id, username: banned_user.username, avatar: banned_user.avatar, discriminator: banned_user.discriminator, public_flags: banned_user.public_flags}, reason: ban.reason}; bansObj.push({
bans_array.push(ban_object) reason: ban.reason,
user: {
username: user.username,
discriminator: user.discriminator,
id: user.id,
avatar: user.avatar,
public_flags: user.public_flags
} }
});
});
return res.json(bans_array); return res.json(bansObj);
}); });
router.get("/:user", route({ permission: "BAN_MEMBERS" }), async (req: Request, res: Response) => { router.get("/:user", route({ permission: "BAN_MEMBERS" }), async (req: Request, res: Response) => {