fix: add rule check to RulesHandler
All checks were successful
All checks were successful
This commit is contained in:
parent
c33d4faacd
commit
dd981ec7ee
@ -5,14 +5,24 @@ export default async function ruleHandler(req: Request, response: Response, next
|
||||
try {
|
||||
const rules = req.body.user.rules;
|
||||
const service = req.path && req.path.split("/")[4];
|
||||
const requiredRule = req.method + " " + service;
|
||||
|
||||
if (!rules) {
|
||||
response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized without rules");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!rules.includes(req.method + " " + service)) {
|
||||
response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with those rules");
|
||||
if (!rules.includes(requiredRule)) {
|
||||
console.error(`Rule check failed for user ${req.body.user.userId}:`);
|
||||
console.error(` Required rule: "${requiredRule}"`);
|
||||
console.error(` User rules: [${rules.join(", ")}]`);
|
||||
console.error(` Path: ${req.path}`);
|
||||
console.error(` Method: ${req.method}`);
|
||||
console.error(` Service: ${service}`);
|
||||
|
||||
response.status(HttpCodes.UNAUTHORIZED).send(
|
||||
`Unauthorized with those rules. Required: "${requiredRule}", Provided: [${rules.join(", ")}]`
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user