permissions & routes with middleware

This commit is contained in:
Julian Krauser 2025-01-22 09:27:15 +01:00
parent 4568bef10e
commit 0b40b9d92c
10 changed files with 92 additions and 2 deletions

View file

@ -37,6 +37,7 @@ export default async function authenticate(req: Request, res: Response, next: Fu
req.username = decoded.username;
req.isOwner = decoded.isOwner;
req.permissions = decoded.permissions;
req.isWebApiRequest = decoded?.sub == "webapi_access_token";
next();
}

View file

@ -0,0 +1,10 @@
import { Request, Response } from "express";
import ForbiddenRequestException from "../exceptions/forbiddenRequestException";
export default async function preventApiAccess(req: Request, res: Response, next: Function) {
if (req.isWebApiRequest) {
throw new ForbiddenRequestException("This route cannot be accessed via webapi");
} else {
next();
}
}