Skip to content

Commit 391f4bb

Browse files
committed
fix(json-api-nestjs-microorm): ensure applyFilters is invoked in query builders for consistency
1 parent e23e7a5 commit 391f4bb

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

libs/json-api/json-api-nestjs-microorm/src/lib/factory/index.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -154,12 +154,11 @@ export function FindOneRowEntityFactory<
154154
inject: [MicroOrmUtilService],
155155
useFactory(microOrmUtilService: MicroOrmUtilService<E, IdKey>) {
156156
return async (entity, value) => {
157-
return microOrmUtilService
158-
.queryBuilder(entity)
159-
.where({
160-
[microOrmUtilService.currentPrimaryColumn]: value,
161-
})
162-
.getSingleResult();
157+
const qb = microOrmUtilService.queryBuilder(entity).where({
158+
[microOrmUtilService.currentPrimaryColumn]: value,
159+
});
160+
await qb.applyFilters();
161+
return qb.getSingleResult();
163162
};
164163
},
165164
};

libs/json-api/json-api-nestjs-microorm/src/lib/orm-methods/get-all/get-all.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ export async function getAll<E extends object, IdKey extends string>(
1919
>(this, ...[query]);
2020

2121
const skip = (page.number - 1) * page.size;
22+
23+
await countSubQuery.applyFilters();
24+
2225
const paginationQuery = countSubQuery
2326
.clone()
2427
.select(this.microOrmUtilService.currentPrimaryColumn)

libs/json-api/json-api-nestjs-microorm/src/lib/orm-methods/get-one/get-one.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,14 @@ export async function getOne<E extends object, IdKey extends string>(
1212
[this.microOrmUtilService.currentPrimaryColumn]: id,
1313
});
1414

15-
const resultItem = await this.microOrmUtilService
16-
.prePareQueryBuilder(queryBuilder, query as any)
17-
.getSingleResult();
15+
const resultQueryBuilder = this.microOrmUtilService.prePareQueryBuilder(
16+
queryBuilder,
17+
query as any
18+
);
1819

20+
await resultQueryBuilder.applyFilters();
21+
22+
const resultItem = await resultQueryBuilder.getSingleResult();
1923
if (!resultItem) {
2024
const error: ValidateQueryError = {
2125
code: 'invalid_arguments',

0 commit comments

Comments
 (0)