From 99df7f1402e2c4aa9946c8face5cca9cde753a14 Mon Sep 17 00:00:00 2001 From: dswbx Date: Thu, 9 Jan 2025 11:06:40 +0100 Subject: [PATCH] Handle missing app context in permission middleware to prevent errors. --- app/src/auth/middlewares.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/auth/middlewares.ts b/app/src/auth/middlewares.ts index 6f00ee0..afefc94 100644 --- a/app/src/auth/middlewares.ts +++ b/app/src/auth/middlewares.ts @@ -34,11 +34,14 @@ export const auth = createMiddleware(async (c, next) => { export const permission = (...permissions: Permission[]) => createMiddleware(async (c, next) => { const app = c.get("app"); - - const p = Array.isArray(permissions) ? permissions : [permissions]; - const guard = app.modules.ctx().guard; - for (const permission of p) { - guard.throwUnlessGranted(permission); + if (app) { + const p = Array.isArray(permissions) ? permissions : [permissions]; + const guard = app.modules.ctx().guard; + for (const permission of p) { + guard.throwUnlessGranted(permission); + } + } else { + console.warn("app not in context, skip permission check"); } await next();