From eee70b11e7777fccc6d31603bd731b3ef7aa6a29 Mon Sep 17 00:00:00 2001 From: Bernd Storath <999999bst@gmail.com> Date: Tue, 11 Feb 2025 11:53:55 +0100 Subject: [PATCH] fix type issue --- src/server/api/session.post.ts | 4 +++- src/shared/utils/permissions.ts | 10 ++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/server/api/session.post.ts b/src/server/api/session.post.ts index 4cfbf35d..fa1c1372 100644 --- a/src/server/api/session.post.ts +++ b/src/server/api/session.post.ts @@ -28,7 +28,9 @@ export default defineEventHandler(async (event) => { userId: user.id, }); - SERVER_DEBUG(`New Session: ${data.id}`); + // TODO: create audit log? + + SERVER_DEBUG(`New Session: ${data.id} for ${user.id} (${user.username})`); return { success: true }; }); diff --git a/src/shared/utils/permissions.ts b/src/shared/utils/permissions.ts index 901d8bb6..83d26d61 100644 --- a/src/shared/utils/permissions.ts +++ b/src/shared/utils/permissions.ts @@ -92,7 +92,9 @@ export function hasPermissions( action: Permissions[Resource]['action'], data?: Permissions[Resource]['dataType'] ) { - const permission = ROLES[roleToKey(user.role)][resource][action]; + const permission = (ROLES as RolesWithPermissions)[roleToKey(user.role)][ + resource + ][action]; if (typeof permission === 'boolean') { return permission; @@ -123,7 +125,11 @@ export function hasPermissionsWithData( return isAllowed; }, isBoolean() { - return typeof ROLES[roleToKey(user.role)][resource][action] === 'boolean'; + return ( + typeof (ROLES as RolesWithPermissions)[roleToKey(user.role)][resource][ + action + ] === 'boolean' + ); }, get checked() { return checked;