summary refs log tree commit diff
diff options
context:
space:
mode:
authorMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-10-26 19:50:51 +1100
committerMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-10-26 19:50:51 +1100
commit48e114945e1b9d26edfeae8c49b19beed2dcd73b (patch)
tree8faf942e367352ade46c7ec6da9f12699cba82f2
parentFix typo in user validation (diff)
downloadserver-48e114945e1b9d26edfeae8c49b19beed2dcd73b.tar.xz
Make /stop route not ugly as hell
-rw-r--r--src/api/routes/stop.ts26
-rw-r--r--src/bundle/Server.ts9
2 files changed, 8 insertions, 27 deletions
diff --git a/src/api/routes/stop.ts b/src/api/routes/stop.ts
index 78abb9d7..1b4e1da9 100644
--- a/src/api/routes/stop.ts
+++ b/src/api/routes/stop.ts
@@ -1,28 +1,12 @@
 import { Router, Request, Response } from "express";
 import { route } from "@fosscord/api";
-import { User } from "@fosscord/util";
 
 const router: Router = Router();
 
-router.post("/", route({}), async (req: Request, res: Response) => {
-	//EXPERIMENTAL: have an "OPERATOR" platform permission implemented for this API route
-	const user = await User.findOneOrFail({
-		where: { id: req.user_id },
-		select: ["rights"],
-	});
-	if ((Number(user.rights) << Number(0)) % Number(2) == Number(1)) {
-		console.log("user that POSTed to the API was ALLOWED");
-		console.log(user.rights);
-		res.sendStatus(200);
-		process.kill(process.pid, "SIGTERM");
-	} else {
-		console.log("operation failed");
-		console.log(user.rights);
-		res.sendStatus(403);
-	}
+router.post("/", route({ right: "OPERATOR" }), async (req: Request, res: Response) => {
+	console.log(`/stop was called by ${req.user_id} at ${new Date()}`);
+	res.sendStatus(200);
+	process.kill(process.pid, "SIGTERM");
 });
 
-export default router;
-
-//THIS API CAN ONLY BE USED BY USERS WITH THE 'OPERATOR' RIGHT (which is the value of 1) ONLY IF ANY OTHER RIGHTS ARE ADDED OR IF THE USER DOESNT HAVE PERMISSION,
-//THE REQUEST WILL RETURN 403 'FORBIDDEN'
+export default router;
\ No newline at end of file
diff --git a/src/bundle/Server.ts b/src/bundle/Server.ts
index dd75e777..b98a3776 100644
--- a/src/bundle/Server.ts
+++ b/src/bundle/Server.ts
@@ -21,13 +21,10 @@ const api = new Api.FosscordServer({ server, port, production, app });
 const cdn = new CDNServer({ server, port, production, app });
 const gateway = new Gateway.Server({ server, port, production });
 
-//this is what has been added for the /stop API route
-process.on("SIGTERM", () => {
-	server.close(() => {
-		console.log("Stop API has been successfully POSTed, SIGTERM sent");
-	});
+process.on("SIGTERM", async () => {
+	console.log("Shutting down due to SIGTERM");
+	server.close();
 });
-//this is what has been added for the /stop API route
 
 async function main() {
 	await initDatabase();