This commit is contained in:
David Arranz 2024-09-08 18:53:16 +02:00
parent 12331c8c48
commit bdb1fc6a63

View File

@ -14,15 +14,20 @@ export const checkUser = composeMiddleware([
session: false,
}),
(req: Request, res: Response, next: NextFunction) => {
if (req.isAuthenticated()) {
return next();
const _req = req as AuthenticatedRequest;
const user = <AuthUser>_req.user;
if (!user || !user.isUser) {
return generateExpressError(req, res, httpStatus.UNAUTHORIZED);
}
return generateExpressError(req, res, httpStatus.UNAUTHORIZED);
return next();
},
]);
export const checkisAdmin = composeMiddleware([
checkUser,
passport.authenticate("local-jwt", {
session: false,
}),
(req: Request, res: Response, next: NextFunction) => {
const _req = req as AuthenticatedRequest;
const user = <AuthUser>_req.user;
@ -35,7 +40,9 @@ export const checkisAdmin = composeMiddleware([
]);
export const checkAdminOrSelf = composeMiddleware([
checkUser,
passport.authenticate("local-jwt", {
session: false,
}),
(req: Request, res: Response, next: NextFunction) => {
const _req = req as AuthenticatedRequest;
const user = <AuthUser>_req.user;
@ -46,7 +53,7 @@ export const checkAdminOrSelf = composeMiddleware([
return next();
}
if (user && userId) {
if (user && user.isUser && userId) {
const paramIdOrError = ensureIdIsValid(userId);
if (paramIdOrError.isSuccess && user.id.equals(paramIdOrError.object)) {
return next();