Skip to content

Commit 66c24ca

Browse files
authored
Merge pull request #48 from klerick/fix-inccorect-condition
fix(json-api-nestjs): fix incorrect condition
2 parents 02e7145 + c994e0e commit 66c24ca

File tree

2 files changed

+13
-18
lines changed

2 files changed

+13
-18
lines changed

libs/json-api-nestjs/src/lib/mixin/service/typeorm/methods/get-all/get-all.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ describe('GetAll methode test', () => {
358358
expect(result.meta.totalItems).toBe(0);
359359
expect(result.meta.pageSize).toBe(page.size);
360360

361-
expect(resultJoinSpy).toBeCalledTimes(4);
361+
expect(resultJoinSpy).toBeCalledTimes(2);
362362
expect(resultJoinSpy).toHaveBeenNthCalledWith(
363363
1,
364364
`${aliasString}.${include[0]}`,

libs/json-api-nestjs/src/lib/mixin/service/typeorm/methods/get-all/get-all.ts

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -173,29 +173,24 @@ export async function getAll<T>(
173173
const resultBuilder = resultBuilderQuery
174174
.select([...fieldsSelect])
175175
const ids = resultIds.map((i) => i[`${countAlias}_${primaryColumn}`]);
176+
let result = [];
176177
if (ids.length > 0) {
177178
resultBuilder.whereInIds(resultIds.map((i) => i[`${countAlias}_${primaryColumn}`]));
178-
}
179-
180-
for (let i = 0; i < expressionObjectForRelation.length; i++) {
181-
const {expression, params, selectInclude} =
182-
expressionObjectForRelation[i];
183-
if (selectInclude && !(include || []).includes(selectInclude as any)) {
184-
resultBuilder.leftJoin(
185-
`${preparedResourceName}.${selectInclude}`,
186-
selectInclude
187-
);
188-
}
189-
if (i === 0 && ids.length === 0) {
190-
resultBuilder.where(expression);
191-
} else {
179+
for (let i = 0; i < expressionObjectForRelation.length; i++) {
180+
const {expression, params, selectInclude} =
181+
expressionObjectForRelation[i];
182+
if (selectInclude && !(include || []).includes(selectInclude as any)) {
183+
resultBuilder.leftJoin(
184+
`${preparedResourceName}.${selectInclude}`,
185+
selectInclude
186+
);
187+
}
192188
resultBuilder.andWhere(expression);
189+
resultBuilder.setParameters(params ? {[params.name]: params.val} : {});
193190
}
194-
195-
resultBuilder.setParameters(params ? {[params.name]: params.val} : {});
196191
}
197192

198-
const result = await resultBuilder.getRawMany();
193+
result = await resultBuilder.getRawMany();
199194

200195
const callQuery = Date.now() - startTime;
201196

0 commit comments

Comments
 (0)