@punks/backend-entity-manager 0.0.164 → 0.0.165
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 +21 -31
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/integrations/repository/typeorm/queryBuilder.d.ts +7 -4
- package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities/crmContact.entity.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities/foo.entity.d.ts +2 -0
- package/dist/esm/index.js +21 -31
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/integrations/repository/typeorm/queryBuilder.d.ts +7 -4
- package/dist/esm/types/platforms/nest/__test__/server/database/core/entities/crmContact.entity.d.ts +2 -0
- package/dist/esm/types/platforms/nest/__test__/server/database/core/entities/foo.entity.d.ts +2 -0
- package/dist/index.d.ts +7 -4
- package/package.json +3 -2
package/dist/cjs/index.js
CHANGED
|
@@ -448,9 +448,8 @@ class EntitiesSearchAction {
|
|
|
448
448
|
this.services = services;
|
|
449
449
|
}
|
|
450
450
|
async execute(request) {
|
|
451
|
-
const
|
|
452
|
-
|
|
453
|
-
.execute(request);
|
|
451
|
+
const searchQuery = this.services.resolveSearchQuery();
|
|
452
|
+
const results = await searchQuery.execute(request);
|
|
454
453
|
const converter = this.services.resolveConverter();
|
|
455
454
|
return {
|
|
456
455
|
facets: results.facets,
|
|
@@ -1860,9 +1859,8 @@ class EntitiesSearchQuery {
|
|
|
1860
1859
|
async execute(request) {
|
|
1861
1860
|
const context = await this.getContext();
|
|
1862
1861
|
await this.authorizeSearch(context);
|
|
1863
|
-
const
|
|
1864
|
-
|
|
1865
|
-
.search(request, context);
|
|
1862
|
+
const queryBuilder = this.services.resolveQueryBuilder();
|
|
1863
|
+
const result = await queryBuilder.search(request, context);
|
|
1866
1864
|
const filteredEntities = await this.filterAllowedEntities(result.items, context);
|
|
1867
1865
|
return {
|
|
1868
1866
|
...result,
|
|
@@ -22294,14 +22292,19 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
22294
22292
|
},
|
|
22295
22293
|
});
|
|
22296
22294
|
}
|
|
22297
|
-
async calculateFacet(field, request, context) {
|
|
22295
|
+
async calculateFacet(field, request, context, relations) {
|
|
22298
22296
|
const where = {
|
|
22299
22297
|
...(context ? this.buildContextFilter(context) : {}),
|
|
22300
22298
|
...this.buildWhereClause(request),
|
|
22301
22299
|
};
|
|
22302
|
-
|
|
22300
|
+
let query = this.getRepository()
|
|
22303
22301
|
.getInnerRepository()
|
|
22304
|
-
.createQueryBuilder()
|
|
22302
|
+
.createQueryBuilder("entity");
|
|
22303
|
+
// .leftJoin("entity.contact", "contact")
|
|
22304
|
+
for (const relation of relations?.columns ?? []) {
|
|
22305
|
+
query = query.leftJoin(`entity.${relation}`, relation);
|
|
22306
|
+
}
|
|
22307
|
+
const results = await query
|
|
22305
22308
|
.select(field, "value")
|
|
22306
22309
|
.addSelect(`COUNT(${field})`, "count")
|
|
22307
22310
|
.where(where)
|
|
@@ -22315,28 +22318,15 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
22315
22318
|
})),
|
|
22316
22319
|
};
|
|
22317
22320
|
}
|
|
22318
|
-
async calculateStringFieldFacets(field, request, context) {
|
|
22319
|
-
return await this.calculateFacet(field, request, context);
|
|
22320
|
-
}
|
|
22321
|
-
async calculateNumericFieldFacets(field, request, context) {
|
|
22322
|
-
return await this.calculateFacet(field, request, context);
|
|
22323
|
-
}
|
|
22324
|
-
async calculateBooleanFieldFacets(field, request, context) {
|
|
22325
|
-
return await this.calculateFacet(field, request, context);
|
|
22326
|
-
}
|
|
22327
|
-
// protected async calculateFacet<TField extends keyof TEntity, TValue>(
|
|
22328
|
-
// field: TField,
|
|
22329
|
-
// request: TEntitySearchParameters,
|
|
22330
|
-
// context: IAuthenticationContext<TUserContext> | undefined
|
|
22331
|
-
// ): Promise<Facet<TValue>> {
|
|
22332
|
-
// const values = await this.getRepository().distinct<TField, TValue>(field, {
|
|
22333
|
-
// ...(context ? this.buildContextFilter(context) : {}),
|
|
22334
|
-
// ...this.buildWhereClause(request),
|
|
22335
|
-
// } as any)
|
|
22336
|
-
// return {
|
|
22337
|
-
// values,
|
|
22338
|
-
// }
|
|
22339
|
-
// }
|
|
22321
|
+
async calculateStringFieldFacets(field, request, context, relations) {
|
|
22322
|
+
return await this.calculateFacet(field, request, context, relations);
|
|
22323
|
+
}
|
|
22324
|
+
async calculateNumericFieldFacets(field, request, context, relations) {
|
|
22325
|
+
return await this.calculateFacet(field, request, context, relations);
|
|
22326
|
+
}
|
|
22327
|
+
async calculateBooleanFieldFacets(field, request, context, relations) {
|
|
22328
|
+
return await this.calculateFacet(field, request, context, relations);
|
|
22329
|
+
}
|
|
22340
22330
|
getRepository() {
|
|
22341
22331
|
if (!this.repository) {
|
|
22342
22332
|
this.repository = this.services.resolveRepository();
|