From 59cac14f4dea487a9ea8285a9247cf6addbc387d Mon Sep 17 00:00:00 2001 From: devanshu052000 Date: Thu, 22 May 2025 17:54:04 +0530 Subject: [PATCH] Added filter logic for released apps --- server/ee | 2 +- .../repositories/query-users.repository.ts | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/server/ee b/server/ee index c4ffed54bc..e9288fca3a 160000 --- a/server/ee +++ b/server/ee @@ -1 +1 @@ -Subproject commit c4ffed54bc928820c832c831aab5d2a42cfba154 +Subproject commit e9288fca3afc0d9064300e30dc5279b3c851be82 diff --git a/server/src/modules/app-permissions/repositories/query-users.repository.ts b/server/src/modules/app-permissions/repositories/query-users.repository.ts index bd1521afae..b5a2cc08fa 100644 --- a/server/src/modules/app-permissions/repositories/query-users.repository.ts +++ b/server/src/modules/app-permissions/repositories/query-users.repository.ts @@ -2,6 +2,7 @@ import { QueryUser } from '@entities/query_users.entity'; import { Injectable } from '@nestjs/common'; import { DataSource, EntityManager, Repository } from 'typeorm'; import { dbTransactionWrap } from '@helpers/database.helper'; +import { QueryPermission } from '@entities/query_permissions.entity'; @Injectable() export class QueryUsersRepository extends Repository { @@ -42,4 +43,41 @@ export class QueryUsersRepository extends Repository { return manager.save(queryUsers); }, manager || this.manager); } + + async checkQueryUserWithGroup( + queryPermission: QueryPermission, + userId: string, + manager?: EntityManager + ): Promise { + return dbTransactionWrap(async (manager: EntityManager) => { + const result = await manager + .createQueryBuilder(QueryUser, 'query_users') + .innerJoin('query_users.permissionGroup', 'group') + .innerJoin('group.groupUsers', 'groupUser') + .where('query_users.queryPermission = :permissionId', { + permissionId: queryPermission.id, + }) + .andWhere('groupUser.userId = :userId', { userId }) + .getOne(); + + return !!result; + }, manager || this.manager); + } + + async checkQueryUserWithSingle( + queryPermission: QueryPermission, + userId: string, + manager?: EntityManager + ): Promise { + return dbTransactionWrap(async (manager: EntityManager) => { + const queryUser = await manager.findOne(QueryUser, { + where: { + queryPermission: { id: queryPermission.id }, + userId, + }, + }); + + return !!queryUser; + }, manager || this.manager); + } }