Added filter logic for released apps

This commit is contained in:
devanshu052000 2025-05-22 17:54:04 +05:30
parent f3fa111ad4
commit 59cac14f4d
2 changed files with 39 additions and 1 deletions

@ -1 +1 @@
Subproject commit c4ffed54bc928820c832c831aab5d2a42cfba154
Subproject commit e9288fca3afc0d9064300e30dc5279b3c851be82

View file

@ -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<QueryUser> {
@ -42,4 +43,41 @@ export class QueryUsersRepository extends Repository<QueryUser> {
return manager.save(queryUsers);
}, manager || this.manager);
}
async checkQueryUserWithGroup(
queryPermission: QueryPermission,
userId: string,
manager?: EntityManager
): Promise<boolean> {
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<boolean> {
return dbTransactionWrap(async (manager: EntityManager) => {
const queryUser = await manager.findOne(QueryUser, {
where: {
queryPermission: { id: queryPermission.id },
userId,
},
});
return !!queryUser;
}, manager || this.manager);
}
}