summary refs log tree commit diff
path: root/api
diff options
context:
space:
mode:
authorLachlanCourt <lachlan.m.court@gmail.com>2022-07-05 00:42:03 +1000
committerErkin Alp Güney <erkinalp9035@gmail.com>2022-07-04 22:22:43 +0300
commit9f8aa049c9da9db0ad7095324d434bbd3a815efe (patch)
treef9ef2d0c820bbafdcf8ef80fa3e6e14fdd9dddd0 /api
parentFix compile error in get request (diff)
downloadserver-9f8aa049c9da9db0ad7095324d434bbd3a815efe.tar.xz
Move role_id specific api routes to correct file
Diffstat (limited to 'api')
-rw-r--r--api/src/routes/guilds/#guild_id/roles/#role_id/index.ts137
-rw-r--r--api/src/routes/guilds/#guild_id/roles/index.ts53
2 files changed, 53 insertions, 137 deletions
diff --git a/api/src/routes/guilds/#guild_id/roles/#role_id/index.ts b/api/src/routes/guilds/#guild_id/roles/#role_id/index.ts
index f01b81c9..88c1219b 100644
--- a/api/src/routes/guilds/#guild_id/roles/#role_id/index.ts
+++ b/api/src/routes/guilds/#guild_id/roles/#role_id/index.ts
@@ -1,18 +1,15 @@
 import { Router, Request, Response } from "express";
 import {
 	Role,
-	getPermission,
 	Member,
-	GuildRoleCreateEvent,
 	GuildRoleUpdateEvent,
 	GuildRoleDeleteEvent,
 	emitEvent,
-	Config,
-	DiscordApiErrors,
-	handleFile
+    handleFile
 } from "@fosscord/util";
 import { route } from "@fosscord/api";
-import {RoleModifySchema, RolePositionUpdateSchema} from '../'
+import { HTTPError } from "lambert-server";
+import {RoleModifySchema} from '../'
 
 const router = Router();
 
@@ -24,84 +21,56 @@ router.get("/",route({}), async (req: Request, res: Response) => {
 	return res.json(role);
 });
 
+router.delete("/", route({ permission: "MANAGE_ROLES" }), 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");
+
+	await Promise.all([
+		Role.delete({
+			id: role_id,
+			guild_id: guild_id
+		}),
+		emitEvent({
+			event: "GUILD_ROLE_DELETE",
+			guild_id,
+			data: {
+				guild_id,
+				role_id
+			}
+		} as GuildRoleDeleteEvent)
+	]);
+
+	res.sendStatus(204);
+});
 
-// router.delete("/", route({ permission: "MANAGE_ROLES" }), 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");
-
-// 	await Promise.all([
-// 		Role.delete({
-// 			id: role_id,
-// 			guild_id: guild_id
-// 		}),
-// 		emitEvent({
-// 			event: "GUILD_ROLE_DELETE",
-// 			guild_id,
-// 			data: {
-// 				guild_id,
-// 				role_id
-// 			}
-// 		} as GuildRoleDeleteEvent)
-// 	]);
-
-// 	res.sendStatus(204);
-// });
-
-// // TODO: check role hierarchy
-
-// router.patch("/:role_id", route({ body: "RoleModifySchema", permission: "MANAGE_ROLES" }), async (req: Request, res: Response) => {
-// 	const { role_id, guild_id } = req.params;
-// 	const body = req.body as RoleModifySchema;
-
-// 	if (body.icon) body.icon = await handleFile(`/role-icons/${role_id}`, body.icon as string); 
-
-// 	const role = new Role({
-// 		...body,
-// 		id: role_id,
-// 		guild_id,
-// 		permissions: String(req.permission!.bitfield & BigInt(body.permissions || "0"))
-// 	});
-
-// 	await Promise.all([
-// 		role.save(),
-// 		emitEvent({
-// 			event: "GUILD_ROLE_UPDATE",
-// 			guild_id,
-// 			data: {
-// 				guild_id,
-// 				role
-// 			}
-// 		} as GuildRoleUpdateEvent)
-// 	]);
-
-// 	res.json(role);
-// });
-
-// router.patch("/", route({ body: "RolePositionUpdateSchema" }), async (req: Request, res: Response) => {
-// 	const { guild_id } = req.params;
-// 	const body = req.body as RolePositionUpdateSchema;
-
-// 	const perms = await getPermission(req.user_id, guild_id);
-// 	perms.hasThrow("MANAGE_ROLES");
-
-// 	await Promise.all(body.map(async (x) => Role.update({ guild_id, id: x.id }, { position: x.position })));
-
-// 	const roles = await Role.find({ where: body.map((x) => ({ id: x.id, guild_id })) });
-
-// 	await Promise.all(
-// 		roles.map((x) =>
-// 			emitEvent({
-// 				event: "GUILD_ROLE_UPDATE",
-// 				guild_id,
-// 				data: {
-// 					guild_id,
-// 					role: x
-// 				}
-// 			} as GuildRoleUpdateEvent)
-// 		)
-// 	);
-
-// 	res.json(roles);
-// });
+// TODO: check role hierarchy
+
+router.patch("/", route({ body: "RoleModifySchema", permission: "MANAGE_ROLES" }), async (req: Request, res: Response) => {
+	const { role_id, guild_id } = req.params;
+	const body = req.body as RoleModifySchema;
+
+	if (body.icon) body.icon = await handleFile(`/role-icons/${role_id}`, body.icon as string); 
+
+	const role = new Role({
+		...body,
+		id: role_id,
+		guild_id,
+		permissions: String(req.permission!.bitfield & BigInt(body.permissions || "0"))
+	});
+
+	await Promise.all([
+		role.save(),
+		emitEvent({
+			event: "GUILD_ROLE_UPDATE",
+			guild_id,
+			data: {
+				guild_id,
+				role
+			}
+		} as GuildRoleUpdateEvent)
+	]);
+
+	res.json(role);
+});
 
 export default router;
diff --git a/api/src/routes/guilds/#guild_id/roles/index.ts b/api/src/routes/guilds/#guild_id/roles/index.ts
index b6894e3f..53465105 100644
--- a/api/src/routes/guilds/#guild_id/roles/index.ts
+++ b/api/src/routes/guilds/#guild_id/roles/index.ts
@@ -81,59 +81,6 @@ router.post("/", route({ body: "RoleModifySchema", permission: "MANAGE_ROLES" })
 	res.json(role);
 });
 
-router.delete("/:role_id", route({ permission: "MANAGE_ROLES" }), async (req: Request, res: Response) => {
-	const guild_id = req.params.guild_id;
-	const { role_id } = req.params;
-	if (role_id === guild_id) throw new HTTPError("You can't delete the @everyone role");
-
-	await Promise.all([
-		Role.delete({
-			id: role_id,
-			guild_id: guild_id
-		}),
-		emitEvent({
-			event: "GUILD_ROLE_DELETE",
-			guild_id,
-			data: {
-				guild_id,
-				role_id
-			}
-		} as GuildRoleDeleteEvent)
-	]);
-
-	res.sendStatus(204);
-});
-
-// TODO: check role hierarchy
-
-router.patch("/:role_id", route({ body: "RoleModifySchema", permission: "MANAGE_ROLES" }), async (req: Request, res: Response) => {
-	const { role_id, guild_id } = req.params;
-	const body = req.body as RoleModifySchema;
-
-	if (body.icon) body.icon = await handleFile(`/role-icons/${role_id}`, body.icon as string); 
-
-	const role = new Role({
-		...body,
-		id: role_id,
-		guild_id,
-		permissions: String(req.permission!.bitfield & BigInt(body.permissions || "0"))
-	});
-
-	await Promise.all([
-		role.save(),
-		emitEvent({
-			event: "GUILD_ROLE_UPDATE",
-			guild_id,
-			data: {
-				guild_id,
-				role
-			}
-		} as GuildRoleUpdateEvent)
-	]);
-
-	res.json(role);
-});
-
 router.patch("/", route({ body: "RolePositionUpdateSchema" }), async (req: Request, res: Response) => {
 	const { guild_id } = req.params;
 	const body = req.body as RolePositionUpdateSchema;