summary refs log tree commit diff
path: root/src/routes
diff options
context:
space:
mode:
authorIntevel ツ <59223342+Intevel@users.noreply.github.com>2021-05-08 13:23:27 +0200
committerIntevel ツ <59223342+Intevel@users.noreply.github.com>2021-05-08 13:23:27 +0200
commit73b167443987c9cb0334d6a2c3d9cf57559e36ec (patch)
treeece43a49f0a4af8343634567f14d9ac8d37fc23f /src/routes
parentUpdate members.ts (diff)
downloadserver-73b167443987c9cb0334d6a2c3d9cf57559e36ec.tar.xz
Update members.ts
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/guilds/#guild_id/members.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/routes/guilds/#guild_id/members.ts b/src/routes/guilds/#guild_id/members.ts
index 0618a567..8e1ce3a3 100644
--- a/src/routes/guilds/#guild_id/members.ts
+++ b/src/routes/guilds/#guild_id/members.ts
@@ -92,6 +92,26 @@ router.delete("/:member/roles/:role_id", async (req: Request, res: Response) =>
 	if (!member) throw new HTTPError("Member not found", 404);
 
 	await removeRole(user_id, guild_id, role_id);
+	res.status(204);
+
+	// https://discord.com/developers/docs/resources/guild#remove-guild-member-role
+});
+
+router.put("/:member/roles/:role_id", async (req: Request, res: Response) => {
+
+	const { guild_id, role_id } = req.params;
+	if(!role_id) throw new HTTPError("role_id not defined", 404);
+
+	const guild = await GuildModel.findOne({ id: guild_id }).exec();
+	if (!guild) throw new HTTPError("Guild not found", 404);
+
+	const user_id = req.params.member;
+
+	const member = await MemberModel.findOne({ id: user_id, guild_id }).exec();
+	if (!member) throw new HTTPError("Member not found", 404);
+
+	await addRole(user_id, guild_id, role_id);
+	res.status(204);
 
 	// https://discord.com/developers/docs/resources/guild#remove-guild-member-role
 });