From e00719714e1d271d675add56606115d435a98fac Mon Sep 17 00:00:00 2001 From: Einhornimmond Date: Fri, 18 Aug 2023 18:42:35 +0200 Subject: [PATCH] start using query builder instead of options, because it cannot help us here --- .../src/graphql/resolver/util/findContributions.ts | 13 +++++++++++++ backend/tsconfig.json | 1 + 2 files changed, 14 insertions(+) diff --git a/backend/src/graphql/resolver/util/findContributions.ts b/backend/src/graphql/resolver/util/findContributions.ts index 6ad896b9f..f8fd581e4 100644 --- a/backend/src/graphql/resolver/util/findContributions.ts +++ b/backend/src/graphql/resolver/util/findContributions.ts @@ -3,6 +3,9 @@ import { Contribution as DbContribution } from '@entity/Contribution' import { Paginated } from '@arg/Paginated' import { SearchContributionsFilterArgs } from '@arg/SearchContributionsFilterArgs' +import { Connection } from '@typeorm/connection' + +import { LogError } from '@/server/LogError' interface Relations { [key: string]: boolean | Relations @@ -14,11 +17,20 @@ export const findContributions = async ( withDeleted = false, relations: Relations | undefined = undefined, ): Promise<[DbContribution[], number]> => { + const connection = await Connection.getInstance() + if (!connection) { + throw new LogError('Cannot connect to db') + } const requiredWhere = { ...(filter.statusFilter?.length && { contributionStatus: In(filter.statusFilter) }), ...(filter.userId && { userId: filter.userId }), ...(filter.noHashtag && { memo: Not(Like(`%#%`)) }), } + const queryBuilder = connection.getRepository(DbContribution).createQueryBuilder('Contribution') + queryBuilder.where(requiredWhere) + return queryBuilder.getManyAndCount() + /* + let where = filter.query && relations?.user @@ -65,4 +77,5 @@ export const findContributions = async ( skip: (paginate.currentPage - 1) * paginate.pageSize, take: paginate.pageSize, }) + */ } diff --git a/backend/tsconfig.json b/backend/tsconfig.json index 146cd41e3..6d27ca0fa 100644 --- a/backend/tsconfig.json +++ b/backend/tsconfig.json @@ -53,6 +53,7 @@ "@model/*": ["src/graphql/model/*"], "@union/*": ["src/graphql/union/*"], "@repository/*": ["src/typeorm/repository/*"], + "@typeorm/*": ["src/typeorm/*"], "@test/*": ["test/*"], /* external */ "@dbTools/*": ["../database/src/*", "../../database/build/src/*"],