From aee893fc983d5104078055154cd26eb4d70a281a Mon Sep 17 00:00:00 2001 From: kriks7iitk Date: Tue, 6 Aug 2024 18:06:38 +0530 Subject: [PATCH] organization scope in apps --- server/src/helpers/queries.ts | 6 +++--- server/src/services/apps.service.ts | 9 ++++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/server/src/helpers/queries.ts b/server/src/helpers/queries.ts index e870bd0838..8167d450c3 100644 --- a/server/src/helpers/queries.ts +++ b/server/src/helpers/queries.ts @@ -50,7 +50,7 @@ export function viewableAppsQueryUsingPermissions( .createQueryBuilder(AppBase, 'viewable_apps') .innerJoin('viewable_apps.user', 'user') .addSelect(['user.firstName', 'user.lastName']) - .where('viewable_apps.organization_id = :organizationId', { organizationId: user.organizationId }); + .where('viewable_apps.organizationId = :organizationId', { organizationId: user.organizationId }); if (searchKey) { viewableAppsQb.andWhere('LOWER(viewable_apps.name) like :searchKey', { @@ -64,14 +64,14 @@ export function viewableAppsQueryUsingPermissions( const { isAllEditable, isAllViewable, hideAll } = userAppPermissions; if (isAllEditable) return viewableAppsQb; if ((isAllViewable && hideAll) || (!isAllViewable && !hideAll) || (!isAllViewable && hideAll)) { - viewableAppsQb.where('viewable_apps.id IN (:...viewableApps)', { + viewableAppsQb.andWhere('viewable_apps.id IN (:...viewableApps)', { viewableApps, }); return viewableAppsQb; } const hiddenApps = userAppPermissions.hiddenAppsId.filter((id) => !userAppPermissions.editableAppsId.includes(id)); if (!userAppPermissions.hideAll && isAllViewable && hiddenApps.length > 0) { - viewableAppsQb.where('viewable_apps.id NOT IN (:...hiddenApps)', { + viewableAppsQb.andWhere('viewable_apps.id NOT IN (:...hiddenApps)', { hiddenApps, }); } diff --git a/server/src/services/apps.service.ts b/server/src/services/apps.service.ts index 3479ca2686..619d18e22e 100644 --- a/server/src/services/apps.service.ts +++ b/server/src/services/apps.service.ts @@ -191,13 +191,20 @@ export class AppsService { resources: [{ resource: TOOLJET_RESOURCE.APP }], organizationId: user.organizationId, }); + console.log(userPermission); + return await dbTransactionWrap(async (manager: EntityManager) => { - return await viewableAppsQueryUsingPermissions( + const apps = await viewableAppsQueryUsingPermissions( user, userPermission[TOOLJET_RESOURCE.APP], manager, searchKey ).getCount(); + + console.log('Apps are to show'); + console.log(apps); + + return apps; }); }