fix: wrong permission check
This commit is contained in:
parent
78ce80b1a2
commit
9d52eb99a5
1 changed files with 17 additions and 0 deletions
|
|
@ -333,6 +333,23 @@ export class UserController extends Controller {
|
||||||
if (user) {
|
if (user) {
|
||||||
throw new HttpError(HttpStatus.BAD_REQUEST, "User exists.", "userExists");
|
throw new HttpError(HttpStatus.BAD_REQUEST, "User exists.", "userExists");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!["system", "head_of_admin", "admin"].some((v) => req.user.roles?.includes(v))) {
|
||||||
|
if (body.userRole in ["system", "head_of_admin", "admin"]) {
|
||||||
|
throw new HttpError(
|
||||||
|
HttpStatus.FORBIDDEN,
|
||||||
|
"You do not have permission to perform this action.",
|
||||||
|
"noPermission",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (!req.user.roles.includes("branch_admin") && body.userRole === "branch_admin") {
|
||||||
|
throw new HttpError(
|
||||||
|
HttpStatus.FORBIDDEN,
|
||||||
|
"You do not have permission to perform this action.",
|
||||||
|
"noPermission",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (
|
if (
|
||||||
!["system", "head_of_admin", "admin"].some((v) => req.user.roles?.includes(v)) &&
|
!["system", "head_of_admin", "admin"].some((v) => req.user.roles?.includes(v)) &&
|
||||||
branch?.some((v) => !v.user.find((v) => v.userId === req.user.sub))
|
branch?.some((v) => !v.user.find((v) => v.userId === req.user.sub))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue