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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy