summary refs log tree commit diff
path: root/src/api/routes/guilds/#guild_id/roles/#role_id
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/routes/guilds/#guild_id/roles/#role_id')
-rw-r--r--src/api/routes/guilds/#guild_id/roles/#role_id/index.ts20
-rw-r--r--src/api/routes/guilds/#guild_id/roles/#role_id/members.ts62
2 files changed, 32 insertions, 50 deletions
diff --git a/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts b/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts
index ea1a782a..ae10addf 100644
--- a/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts
@@ -53,7 +53,7 @@ router.get(
 			where: { guild_id, id: role_id },
 		});
 		return res.json(role);
-	},
+	}
 );
 
 router.delete(
@@ -75,8 +75,7 @@ router.delete(
 	}),
 	async (req: Request, res: Response) => {
 		const { guild_id, role_id } = req.params;
-		if (role_id === guild_id)
-			throw new HTTPError("You can't delete the @everyone role");
+		if (role_id === guild_id) throw new HTTPError("You can't delete the @everyone role");
 
 		await Promise.all([
 			Role.delete({
@@ -94,7 +93,7 @@ router.delete(
 		]);
 
 		res.sendStatus(204);
-	},
+	}
 );
 
 // TODO: check role hierarchy
@@ -123,11 +122,7 @@ router.patch(
 		const { role_id, guild_id } = req.params;
 		const body = req.body as RoleModifySchema;
 
-		if (body.icon && body.icon.length)
-			body.icon = await handleFile(
-				`/role-icons/${role_id}`,
-				body.icon as string,
-			);
+		if (body.icon && body.icon.length) body.icon = await handleFile(`/role-icons/${role_id}`, body.icon as string);
 		else body.icon = undefined;
 
 		const role = await Role.findOneOrFail({
@@ -135,10 +130,7 @@ router.patch(
 		});
 		role.assign({
 			...body,
-			permissions: String(
-				(req.permission?.bitfield || 0n) &
-					BigInt(body.permissions || "0"),
-			),
+			permissions: String((req.permission?.bitfield || 0n) & BigInt(body.permissions || "0")),
 		});
 
 		await Promise.all([
@@ -154,7 +146,7 @@ router.patch(
 		]);
 
 		res.json(role);
-	},
+	}
 );
 
 export default router;
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 539cd5d8..a34908a6 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
@@ -22,41 +22,31 @@ 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;
-
-		// don't mess with @everyone
-		if (role_id == guild_id) throw DiscordApiErrors.INVALID_ROLE;
-
-		const members = await Member.find({
-			where: { guild_id },
-			relations: ["roles"],
-		});
-
-		const [add, remove] = partition(
-			members,
-			(member) =>
-				member_ids.includes(member.id) &&
-				!member.roles.map((role) => role.id).includes(role_id),
-		);
-
-		// TODO (erkin): have a bulk add/remove function that adds the roles in a single txn
-		await Promise.all([
-			...add.map((member) =>
-				Member.addRole(member.id, guild_id, role_id),
-			),
-			...remove.map((member) =>
-				Member.removeRole(member.id, guild_id, role_id),
-			),
-		]);
-
-		res.sendStatus(204);
-	},
-);
+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;
+
+	// don't mess with @everyone
+	if (role_id == guild_id) throw DiscordApiErrors.INVALID_ROLE;
+
+	const members = await Member.find({
+		where: { guild_id },
+		relations: ["roles"],
+	});
+
+	const [add, remove] = partition(
+		members,
+		(member) => member_ids.includes(member.id) && !member.roles.map((role) => role.id).includes(role_id)
+	);
+
+	// TODO (erkin): have a bulk add/remove function that adds the roles in a single txn
+	await Promise.all([
+		...add.map((member) => Member.addRole(member.id, guild_id, role_id)),
+		...remove.map((member) => Member.removeRole(member.id, guild_id, role_id)),
+	]);
+
+	res.sendStatus(204);
+});
 
 export default router;