@punks/backend-entity-manager 0.0.170 → 0.0.172
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +30 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/searchParameters.d.ts +6 -0
- package/dist/cjs/types/integrations/repository/typeorm/queryBuilder.d.ts +7 -0
- package/dist/cjs/types/integrations/repository/typeorm/traverse.d.ts +3 -0
- package/dist/cjs/types/models/search.d.ts +5 -0
- package/dist/esm/index.js +30 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/searchParameters.d.ts +6 -0
- package/dist/esm/types/integrations/repository/typeorm/queryBuilder.d.ts +7 -0
- package/dist/esm/types/integrations/repository/typeorm/traverse.d.ts +3 -0
- package/dist/esm/types/models/search.d.ts +5 -0
- package/dist/index.d.ts +22 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -458,10 +458,11 @@ class EntitiesSearchAction {
|
|
|
458
458
|
const results = await searchQuery.execute(request);
|
|
459
459
|
const converter = this.services.resolveConverter();
|
|
460
460
|
return {
|
|
461
|
-
|
|
461
|
+
items: results.items.map((x) => (converter?.toListItemDto(x) ?? x)),
|
|
462
462
|
paging: results.paging,
|
|
463
|
+
childrenMap: results.childrenMap,
|
|
464
|
+
facets: results.facets,
|
|
463
465
|
request: results.request,
|
|
464
|
-
items: results.items.map((x) => (converter?.toListItemDto(x) ?? x)),
|
|
465
466
|
};
|
|
466
467
|
}
|
|
467
468
|
}
|
|
@@ -22260,6 +22261,9 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
22260
22261
|
const facets = request.options?.includeFacets
|
|
22261
22262
|
? await this.calculateFacets(request, context)
|
|
22262
22263
|
: undefined;
|
|
22264
|
+
const childrenMap = request.options?.includeChildrenMap
|
|
22265
|
+
? await this.calculateChildrenMap(results)
|
|
22266
|
+
: undefined;
|
|
22263
22267
|
return {
|
|
22264
22268
|
items: results,
|
|
22265
22269
|
request,
|
|
@@ -22269,6 +22273,7 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
22269
22273
|
totResults: queryResults,
|
|
22270
22274
|
}),
|
|
22271
22275
|
facets,
|
|
22276
|
+
childrenMap,
|
|
22272
22277
|
};
|
|
22273
22278
|
}
|
|
22274
22279
|
async getFieldDistinctValues(field, request, context) {
|
|
@@ -22311,6 +22316,29 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
22311
22316
|
value: typeorm.ILike(`%${request.query?.term}%`),
|
|
22312
22317
|
}));
|
|
22313
22318
|
}
|
|
22319
|
+
calculateChildrenMap(items) {
|
|
22320
|
+
return Promise.resolve({});
|
|
22321
|
+
}
|
|
22322
|
+
async queryChildrenMap({ nodeIds, idField, parentField, }) {
|
|
22323
|
+
const result = await this.getRepository()
|
|
22324
|
+
.getInnerRepository()
|
|
22325
|
+
.createQueryBuilder("entity")
|
|
22326
|
+
.where({
|
|
22327
|
+
[parentField.toString()]: {
|
|
22328
|
+
[idField.toString()]: typeorm.In(nodeIds),
|
|
22329
|
+
},
|
|
22330
|
+
})
|
|
22331
|
+
.select(`entity.${parentField.toString()}.${idField.toString()}`, "parentId")
|
|
22332
|
+
.addSelect(`COUNT(entity.${idField.toString()})`, "count")
|
|
22333
|
+
.groupBy(`entity.${parentField.toString()}.${idField.toString()}`)
|
|
22334
|
+
.getRawMany();
|
|
22335
|
+
return result.reduce((acc, x) => {
|
|
22336
|
+
acc[x.parentId] = {
|
|
22337
|
+
count: parseInt(x.count),
|
|
22338
|
+
};
|
|
22339
|
+
return acc;
|
|
22340
|
+
}, {});
|
|
22341
|
+
}
|
|
22314
22342
|
async calculateFacet(field, request, context, relations) {
|
|
22315
22343
|
let query = this.getRepository()
|
|
22316
22344
|
.getInnerRepository()
|