summary refs log tree commit diff
path: root/src/api/routes/guilds/#guild_id/members/#member_id
diff options
context:
space:
mode:
authorMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-09-26 22:29:30 +1000
committerMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-09-26 22:41:21 +1000
commit99ee7e9400f06e8718612d8b52d15215dc620774 (patch)
tree08de8c5d3985b9c2eaa419f5198f891ecd82d012 /src/api/routes/guilds/#guild_id/members/#member_id
parentRemove the cdn storage location log (diff)
downloadserver-99ee7e9400f06e8718612d8b52d15215dc620774.tar.xz
Prettier
Diffstat (limited to 'src/api/routes/guilds/#guild_id/members/#member_id')
-rw-r--r--src/api/routes/guilds/#guild_id/members/#member_id/index.ts110
-rw-r--r--src/api/routes/guilds/#guild_id/members/#member_id/nick.ts28
-rw-r--r--src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts28
3 files changed, 102 insertions, 64 deletions
diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/index.ts b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts
index 407619d3..2d867920 100644
--- a/src/api/routes/guilds/#guild_id/members/#member_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts
@@ -1,5 +1,16 @@
 import { Request, Response, Router } from "express";
-import { Member, getPermission, getRights, Role, GuildMemberUpdateEvent, emitEvent, Sticker, Emoji, Guild, MemberChangeSchema } from "@fosscord/util";
+import {
+	Member,
+	getPermission,
+	getRights,
+	Role,
+	GuildMemberUpdateEvent,
+	emitEvent,
+	Sticker,
+	Emoji,
+	Guild,
+	MemberChangeSchema,
+} from "@fosscord/util";
 import { route } from "@fosscord/api";
 
 const router = Router();
@@ -8,48 +19,63 @@ router.get("/", route({}), async (req: Request, res: Response) => {
 	const { guild_id, member_id } = req.params;
 	await Member.IsInGuildOrFail(req.user_id, guild_id);
 
-	const member = await Member.findOneOrFail({ where: { id: member_id, guild_id } });
+	const member = await Member.findOneOrFail({
+		where: { id: member_id, guild_id },
+	});
 
 	return res.json(member);
 });
 
-router.patch("/", route({ body: "MemberChangeSchema" }), async (req: Request, res: Response) => {
-	let { guild_id, member_id } = req.params;
-	if (member_id === "@me") member_id = req.user_id;
-	const body = req.body as MemberChangeSchema;
-
-	const member = await Member.findOneOrFail({ where: { id: member_id, guild_id }, relations: ["roles", "user"] });
-	const permission = await getPermission(req.user_id, guild_id);
-	const everyone = await Role.findOneOrFail({ where: { guild_id: guild_id, name: "@everyone", position: 0 } });
-
-	if (body.roles) {
-		permission.hasThrow("MANAGE_ROLES");
-
-		if (body.roles.indexOf(everyone.id) === -1) body.roles.push(everyone.id);
-		member.roles = body.roles.map((x) => Role.create({ id: x })); // foreign key constraint will fail if role doesn't exist
-	}
-
-	if ('nick' in body) {
-		permission.hasThrow(req.user_id == member.user.id ? "CHANGE_NICKNAME" : "MANAGE_NICKNAMES");
-		member.nick = body.nick?.trim() || undefined;
-	}
-
-	await member.save();
-
-	member.roles = member.roles.filter((x) => x.id !== everyone.id);
-
-	// do not use promise.all as we have to first write to db before emitting the event to catch errors
-	await emitEvent({
-		event: "GUILD_MEMBER_UPDATE",
-		guild_id,
-		data: { ...member, roles: member.roles.map((x) => x.id) }
-	} as GuildMemberUpdateEvent);
-
-	res.json(member);
-});
+router.patch(
+	"/",
+	route({ body: "MemberChangeSchema" }),
+	async (req: Request, res: Response) => {
+		let { guild_id, member_id } = req.params;
+		if (member_id === "@me") member_id = req.user_id;
+		const body = req.body as MemberChangeSchema;
+
+		const member = await Member.findOneOrFail({
+			where: { id: member_id, guild_id },
+			relations: ["roles", "user"],
+		});
+		const permission = await getPermission(req.user_id, guild_id);
+		const everyone = await Role.findOneOrFail({
+			where: { guild_id: guild_id, name: "@everyone", position: 0 },
+		});
+
+		if (body.roles) {
+			permission.hasThrow("MANAGE_ROLES");
+
+			if (body.roles.indexOf(everyone.id) === -1)
+				body.roles.push(everyone.id);
+			member.roles = body.roles.map((x) => Role.create({ id: x })); // foreign key constraint will fail if role doesn't exist
+		}
+
+		if ("nick" in body) {
+			permission.hasThrow(
+				req.user_id == member.user.id
+					? "CHANGE_NICKNAME"
+					: "MANAGE_NICKNAMES",
+			);
+			member.nick = body.nick?.trim() || undefined;
+		}
+
+		await member.save();
+
+		member.roles = member.roles.filter((x) => x.id !== everyone.id);
+
+		// do not use promise.all as we have to first write to db before emitting the event to catch errors
+		await emitEvent({
+			event: "GUILD_MEMBER_UPDATE",
+			guild_id,
+			data: { ...member, roles: member.roles.map((x) => x.id) },
+		} as GuildMemberUpdateEvent);
+
+		res.json(member);
+	},
+);
 
 router.put("/", route({}), async (req: Request, res: Response) => {
-
 	// TODO: Lurker mode
 
 	const rights = await getRights(req.user_id);
@@ -59,23 +85,23 @@ router.put("/", route({}), async (req: Request, res: Response) => {
 		member_id = req.user_id;
 		rights.hasThrow("JOIN_GUILDS");
 	} else {
-		// TODO: join others by controller	
+		// TODO: join others by controller
 	}
 
 	var guild = await Guild.findOneOrFail({
-		where: { id: guild_id }
+		where: { id: guild_id },
 	});
 
 	var emoji = await Emoji.find({
-		where: { guild_id: guild_id }
+		where: { guild_id: guild_id },
 	});
 
 	var roles = await Role.find({
-		where: { guild_id: guild_id }
+		where: { guild_id: guild_id },
 	});
 
 	var stickers = await Sticker.find({
-		where: { guild_id: guild_id }
+		where: { guild_id: guild_id },
 	});
 
 	await Member.addToGuild(member_id, guild_id);
diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts b/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts
index edd47605..20443821 100644
--- a/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts
+++ b/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts
@@ -4,19 +4,23 @@ import { Request, Response, Router } from "express";
 
 const router = Router();
 
-router.patch("/", route({ body: "MemberNickChangeSchema" }), async (req: Request, res: Response) => {
-	var { guild_id, member_id } = req.params;
-	var permissionString: PermissionResolvable = "MANAGE_NICKNAMES";
-	if (member_id === "@me") {
-		member_id = req.user_id;
-		permissionString = "CHANGE_NICKNAME";
-	}
+router.patch(
+	"/",
+	route({ body: "MemberNickChangeSchema" }),
+	async (req: Request, res: Response) => {
+		var { guild_id, member_id } = req.params;
+		var permissionString: PermissionResolvable = "MANAGE_NICKNAMES";
+		if (member_id === "@me") {
+			member_id = req.user_id;
+			permissionString = "CHANGE_NICKNAME";
+		}
 
-	const perms = await getPermission(req.user_id, guild_id);
-	perms.hasThrow(permissionString);
+		const perms = await getPermission(req.user_id, guild_id);
+		perms.hasThrow(permissionString);
 
-	await Member.changeNickname(member_id, guild_id, req.body.nick);
-	res.status(200).send();
-});
+		await Member.changeNickname(member_id, guild_id, req.body.nick);
+		res.status(200).send();
+	},
+);
 
 export default router;
diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts b/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
index 8f5ca7ba..c0383912 100644
--- a/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
@@ -4,18 +4,26 @@ import { Request, Response, Router } from "express";
 
 const router = Router();
 
-router.delete("/", route({ permission: "MANAGE_ROLES" }), async (req: Request, res: Response) => {
-	const { guild_id, role_id, member_id } = req.params;
+router.delete(
+	"/",
+	route({ permission: "MANAGE_ROLES" }),
+	async (req: Request, res: Response) => {
+		const { guild_id, role_id, member_id } = req.params;
 
-	await Member.removeRole(member_id, guild_id, role_id);
-	res.sendStatus(204);
-});
+		await Member.removeRole(member_id, guild_id, role_id);
+		res.sendStatus(204);
+	},
+);
 
-router.put("/", route({ permission: "MANAGE_ROLES" }), async (req: Request, res: Response) => {
-	const { guild_id, role_id, member_id } = req.params;
+router.put(
+	"/",
+	route({ permission: "MANAGE_ROLES" }),
+	async (req: Request, res: Response) => {
+		const { guild_id, role_id, member_id } = req.params;
 
-	await Member.addRole(member_id, guild_id, role_id);
-	res.sendStatus(204);
-});
+		await Member.addRole(member_id, guild_id, role_id);
+		res.sendStatus(204);
+	},
+);
 
 export default router;