summary refs log tree commit diff
path: root/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/routes/guilds/#guild_id/roles/#role_id/members.ts')
-rw-r--r--src/api/routes/guilds/#guild_id/roles/#role_id/members.ts56
1 files changed, 31 insertions, 25 deletions
diff --git a/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts b/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts
index 26359a69..a1238382 100644
--- a/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts
+++ b/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts
@@ -23,31 +23,37 @@ import { route } from "@spacebar/api";
 const router = Router();
 
 router.patch(
-    "/",
-    route({ permission: "MANAGE_ROLES" }),
-    async (req: Request, res: Response) => {
-        // Payload is JSON containing a list of member_ids, the new list of members to have the role
-        const { guild_id, role_id } = req.params;
-        const { member_ids } = req.body;
-        await Member.IsInGuildOrFail(req.user_id, guild_id);
-        const members = await Member.find({
-            where: { guild_id },
-            relations: ["roles"],
-        });
-        const members_to_add = members.filter((member) => {
-            return member_ids.includes(member.id) && !member.roles.map((role) => role.id).includes(role_id);
-        });
-        const members_to_remove = members.filter((member) => {
-            return !member_ids.includes(member.id) && member.roles.map((role) => role.id).includes(role_id);
-        });
-        for (const member of members_to_add) {
-            Member.addRole(member.id, guild_id, role_id);
-        }
-        for (const member of members_to_remove) {
-            Member.removeRole(member.id, guild_id, role_id);
-        }
-        res.sendStatus(204);
-    }
+	"/",
+	route({ permission: "MANAGE_ROLES" }),
+	async (req: Request, res: Response) => {
+		// Payload is JSON containing a list of member_ids, the new list of members to have the role
+		const { guild_id, role_id } = req.params;
+		const { member_ids } = req.body;
+		await Member.IsInGuildOrFail(req.user_id, guild_id);
+		const members = await Member.find({
+			where: { guild_id },
+			relations: ["roles"],
+		});
+		const members_to_add = members.filter((member) => {
+			return (
+				member_ids.includes(member.id) &&
+				!member.roles.map((role) => role.id).includes(role_id)
+			);
+		});
+		const members_to_remove = members.filter((member) => {
+			return (
+				!member_ids.includes(member.id) &&
+				member.roles.map((role) => role.id).includes(role_id)
+			);
+		});
+		for (const member of members_to_add) {
+			Member.addRole(member.id, guild_id, role_id);
+		}
+		for (const member of members_to_remove) {
+			Member.removeRole(member.id, guild_id, role_id);
+		}
+		res.sendStatus(204);
+	},
 );
 
 export default router;