mirror of
https://github.com/spacebarchat/server.git
synced 2026-09-16 23:25:05 +00:00
Make /stop route not ugly as hell
This commit is contained in:
+5
-21
@@ -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;
|
||||
Reference in New Issue
Block a user