From cdd31ccba9e0ea41cc1aee82c6abbd6ca17a8dd2 Mon Sep 17 00:00:00 2001 From: Einhornimmond Date: Sat, 12 Feb 2022 12:41:13 +0100 Subject: [PATCH] fix nested where conditions --- backend/src/typeorm/repository/User.ts | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/backend/src/typeorm/repository/User.ts b/backend/src/typeorm/repository/User.ts index bf9d55587..e4efedaf7 100644 --- a/backend/src/typeorm/repository/User.ts +++ b/backend/src/typeorm/repository/User.ts @@ -1,4 +1,4 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' +import { Brackets, EntityRepository, Repository } from '@dbTools/typeorm' import { User } from '@entity/User' import internal from 'stream' @@ -60,15 +60,22 @@ export class UserRepository extends Repository { } async findBySearchCriteriaPagedNotActivated(searchCriteria: string, currentPage: number, pageSize: number): Promise<[User[], number]> { + return await this.createQueryBuilder('user') .where( - 'user.firstName like :name or user.lastName like :lastName or user.email like :email', - { - name: `%${searchCriteria}%`, - lastName: `%${searchCriteria}%`, - email: `%${searchCriteria}%`, - emailChecked: false - }, + new Brackets(qb => { + qb.where( + 'user.firstName like :name or user.lastName like :lastName or user.email like :email', + { + name: `%${searchCriteria}%`, + lastName: `%${searchCriteria}%`, + email: `%${searchCriteria}%`, + }, + ) + }) + ) + .andWhere( + {emailChecked: false} ) .take(pageSize) .skip((currentPage - 1 ) * pageSize)