summary refs log tree commit diff
path: root/api
diff options
context:
space:
mode:
authorunknownPerson115 <69736850+unknownPerson115@users.noreply.github.com>2021-12-25 21:09:46 +0000
committerGitHub <noreply@github.com>2021-12-25 21:09:46 +0000
commit76c41d905aaa7a371f217e6c2f5e16b687ae9088 (patch)
tree6f65cc1d9655225ce9ff475e939f7e7f478579b5 /api
parentUpdated Server.ts (diff)
downloadserver-76c41d905aaa7a371f217e6c2f5e16b687ae9088.tar.xz
Create stop.ts (for /stop API route)
patched up the route and polished it

note: THIS API IS ONLY FOR DEVELOPMENT PURPOSES
Diffstat (limited to 'api')
-rw-r--r--api/src/routes/stop.ts30
1 files changed, 30 insertions, 0 deletions
diff --git a/api/src/routes/stop.ts b/api/src/routes/stop.ts
new file mode 100644
index 00000000..b4f2de5e
--- /dev/null
+++ b/api/src/routes/stop.ts
@@ -0,0 +1,30 @@
+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) => {
+	//TODO: have an "OPERATOR" platform permission implemented for this API route
+	const user = await User.findOneOrFail({ where: { id: req.user_id }, select: ["flags"] });
+	if(user.flags == '4096') {
+		console.log("user that POSTed to the API was ALLOWED");
+		console.log(user.flags);
+		res.sendStatus(200)
+		process.kill(process.pid, 'SIGTERM')
+	}
+	if(user.flags <= '4095') {
+		console.log("user that POSTed to the /stop API was DENIED");
+		console.log(user.flags);
+		res.sendStatus(403)
+	}
+	if(user.flags >= '4097'){
+		console.log("user that POSTed to the /stop API was DENIED");
+		console.log(user.flags);
+		res.sendStatus(403)
+	}
+});
+
+export default router;
+
+//THIS API CAN ONLY BE USED BY USERS WITH THE 'SYSTEM' FLAG ONLY IF ANY OTHER FLAGS ARE ADDED THE REQUEST WILL RETURN 403 'FORBIDDEN'