From 49bc37d7f4eaf82ffe156d844f47f5ab2bd6e6ac Mon Sep 17 00:00:00 2001 From: kriks7iitk Date: Fri, 9 Aug 2024 13:33:14 +0530 Subject: [PATCH] hidden apps join fix --- server/src/helpers/queries.ts | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/server/src/helpers/queries.ts b/server/src/helpers/queries.ts index 8aa418dfe4..ac719a0d46 100644 --- a/server/src/helpers/queries.ts +++ b/server/src/helpers/queries.ts @@ -22,20 +22,23 @@ export function getFolderQuery( ]) ), ]; - const hiddenApps = [ - null, - ...userAppPermissions.hiddenAppsId.filter((id) => !userAppPermissions.editableAppsId.includes(id)), - ]; + const hiddenApps = userAppPermissions.hiddenAppsId.filter((id) => !userAppPermissions.editableAppsId.includes(id)); + const query = manager.createQueryBuilder(Folder, 'folders'); if (!isAllEditable) { if ((isAllViewable && hideAll) || (!isAllViewable && !hideAll) || (!isAllViewable && hideAll)) query.leftJoinAndSelect('folders.folderApps', 'folder_apps', 'folder_apps.appId IN (:...viewableApps)', { viewableApps, }); - else if (!userAppPermissions.hideAll && isAllViewable) - query.leftJoinAndSelect('folders.folderApps', 'folder_apps', 'folder_apps.appId NOT IN (:...hiddenApps)', { - hiddenApps, - }); + else if (!userAppPermissions.hideAll && isAllViewable) { + if (hiddenApps.length > 0) + query.leftJoinAndSelect('folders.folderApps', 'folder_apps', 'folder_apps.appId NOT IN (:...hiddenApps)', { + hiddenApps, + }); + else { + query.leftJoinAndSelect('folders.folderApps', 'folder_apps'); + } + } } else { query.leftJoinAndSelect('folders.folderApps', 'folder_apps'); }