@punks/backend-entity-manager 0.0.165 → 0.0.166
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 +59 -28
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/integrations/repository/typeorm/queryBuilder.d.ts +5 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foos/foo.query.d.ts +1 -0
- package/dist/esm/index.js +59 -28
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/integrations/repository/typeorm/queryBuilder.d.ts +5 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/foos/foo.query.d.ts +1 -0
- package/dist/index.d.ts +5 -0
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -632,7 +632,7 @@ class EntitiesDeleteCommand {
|
|
|
632
632
|
return undefined;
|
|
633
633
|
}
|
|
634
634
|
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
635
|
-
return await contextService
|
|
635
|
+
return await contextService?.getContext();
|
|
636
636
|
}
|
|
637
637
|
async authorize() {
|
|
638
638
|
const authorization = this.services.resolveAuthorizationMiddleware();
|
|
@@ -1722,7 +1722,7 @@ class EntitiesCountQuery {
|
|
|
1722
1722
|
return undefined;
|
|
1723
1723
|
}
|
|
1724
1724
|
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
1725
|
-
return await contextService
|
|
1725
|
+
return await contextService?.getContext();
|
|
1726
1726
|
}
|
|
1727
1727
|
async authorizeSearch(context) {
|
|
1728
1728
|
const authorization = this.services.resolveAuthorizationMiddleware();
|
|
@@ -1753,7 +1753,7 @@ class EntityExistsQuery {
|
|
|
1753
1753
|
return undefined;
|
|
1754
1754
|
}
|
|
1755
1755
|
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
1756
|
-
return await contextService
|
|
1756
|
+
return await contextService?.getContext();
|
|
1757
1757
|
}
|
|
1758
1758
|
async authorizeSearch(context) {
|
|
1759
1759
|
const authorization = this.services.resolveAuthorizationMiddleware();
|
|
@@ -1927,7 +1927,7 @@ class EntityVersionsSearchQuery {
|
|
|
1927
1927
|
return undefined;
|
|
1928
1928
|
}
|
|
1929
1929
|
const contextService = this.services.resolveAuthenticationContextProvider();
|
|
1930
|
-
return await contextService
|
|
1930
|
+
return await contextService?.getContext();
|
|
1931
1931
|
}
|
|
1932
1932
|
async authorizeSearch(context) {
|
|
1933
1933
|
const authorization = this.services.resolveAuthorizationMiddleware();
|
|
@@ -22220,10 +22220,7 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
22220
22220
|
const request = {
|
|
22221
22221
|
filters,
|
|
22222
22222
|
};
|
|
22223
|
-
return await this.getRepository().deleteBy(
|
|
22224
|
-
...(context ? this.buildContextFilter(context) : {}),
|
|
22225
|
-
...this.buildWhereClause(request),
|
|
22226
|
-
});
|
|
22223
|
+
return await this.getRepository().deleteBy(this.buildWhere(request, context));
|
|
22227
22224
|
}
|
|
22228
22225
|
async find(request, context) {
|
|
22229
22226
|
const results = await this.findPagedQueryResults({
|
|
@@ -22255,20 +22252,13 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
22255
22252
|
}
|
|
22256
22253
|
async getFieldDistinctValues(field, request, context) {
|
|
22257
22254
|
return await this.getRepository().distinct(field, {
|
|
22258
|
-
where:
|
|
22259
|
-
...(context ? this.buildContextFilter(context) : {}),
|
|
22260
|
-
...this.buildWhereClause(request),
|
|
22261
|
-
},
|
|
22255
|
+
where: this.buildWhere(request, context),
|
|
22262
22256
|
});
|
|
22263
22257
|
}
|
|
22264
22258
|
async findPagedQueryResults(request, context) {
|
|
22265
22259
|
return await this.getRepository().find({
|
|
22266
|
-
where:
|
|
22267
|
-
|
|
22268
|
-
...this.buildWhereClause(request),
|
|
22269
|
-
},
|
|
22270
|
-
relations: request.relations ??
|
|
22271
|
-
this.getRelationsToLoad(request, context, exports.QueryBuilderOperation.Search),
|
|
22260
|
+
where: this.buildWhere(request, context),
|
|
22261
|
+
relations: this.buildSearchRelations(request, context),
|
|
22272
22262
|
order: this.buildSortingClause(request),
|
|
22273
22263
|
...this.buildPagingParameters(request),
|
|
22274
22264
|
});
|
|
@@ -22286,28 +22276,23 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
22286
22276
|
}
|
|
22287
22277
|
async countQueryResults(request, context) {
|
|
22288
22278
|
return await this.getRepository().count({
|
|
22289
|
-
where:
|
|
22290
|
-
...(context ? this.buildContextFilter(context) : {}),
|
|
22291
|
-
...this.buildWhereClause(request),
|
|
22292
|
-
},
|
|
22279
|
+
where: this.buildWhere(request, context),
|
|
22293
22280
|
});
|
|
22294
22281
|
}
|
|
22282
|
+
buildTextSearchClause(request) {
|
|
22283
|
+
return {};
|
|
22284
|
+
}
|
|
22295
22285
|
async calculateFacet(field, request, context, relations) {
|
|
22296
|
-
const where = {
|
|
22297
|
-
...(context ? this.buildContextFilter(context) : {}),
|
|
22298
|
-
...this.buildWhereClause(request),
|
|
22299
|
-
};
|
|
22300
22286
|
let query = this.getRepository()
|
|
22301
22287
|
.getInnerRepository()
|
|
22302
22288
|
.createQueryBuilder("entity");
|
|
22303
|
-
// .leftJoin("entity.contact", "contact")
|
|
22304
22289
|
for (const relation of relations?.columns ?? []) {
|
|
22305
22290
|
query = query.leftJoin(`entity.${relation}`, relation);
|
|
22306
22291
|
}
|
|
22307
22292
|
const results = await query
|
|
22308
22293
|
.select(field, "value")
|
|
22309
22294
|
.addSelect(`COUNT(${field})`, "count")
|
|
22310
|
-
.where(
|
|
22295
|
+
.where(this.buildWhere(request, context))
|
|
22311
22296
|
.addGroupBy(field)
|
|
22312
22297
|
.orderBy(field)
|
|
22313
22298
|
.getRawMany();
|
|
@@ -22333,6 +22318,52 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
22333
22318
|
}
|
|
22334
22319
|
return this.repository;
|
|
22335
22320
|
}
|
|
22321
|
+
buildSearchRelations(request, context) {
|
|
22322
|
+
return (request.relations ??
|
|
22323
|
+
this.getRelationsToLoad(request, context, exports.QueryBuilderOperation.Search));
|
|
22324
|
+
}
|
|
22325
|
+
buildWhere(request, context) {
|
|
22326
|
+
return this.mergeWhereClauses(context ? this.buildContextFilter(context) : {}, this.buildWhereClause(request), this.buildTextSearchClause(request));
|
|
22327
|
+
}
|
|
22328
|
+
mergeWhereClauses(...clauses) {
|
|
22329
|
+
return clauses.reduce((a, b) => this.mergeWheres(a, b));
|
|
22330
|
+
}
|
|
22331
|
+
mergeWheres(a, b) {
|
|
22332
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
22333
|
+
const result = [];
|
|
22334
|
+
for (const x of a) {
|
|
22335
|
+
for (const y of b) {
|
|
22336
|
+
result.push({
|
|
22337
|
+
...x,
|
|
22338
|
+
...y,
|
|
22339
|
+
});
|
|
22340
|
+
}
|
|
22341
|
+
}
|
|
22342
|
+
return result;
|
|
22343
|
+
}
|
|
22344
|
+
if (!Array.isArray(a) && !Array.isArray(b)) {
|
|
22345
|
+
return {
|
|
22346
|
+
...a,
|
|
22347
|
+
...b,
|
|
22348
|
+
};
|
|
22349
|
+
}
|
|
22350
|
+
if (Array.isArray(a) && !Array.isArray(b)) {
|
|
22351
|
+
return a.map((x) => ({
|
|
22352
|
+
...x,
|
|
22353
|
+
...b,
|
|
22354
|
+
}));
|
|
22355
|
+
}
|
|
22356
|
+
if (!Array.isArray(a) && Array.isArray(b)) {
|
|
22357
|
+
return b.map((x) => ({
|
|
22358
|
+
...a,
|
|
22359
|
+
...x,
|
|
22360
|
+
}));
|
|
22361
|
+
}
|
|
22362
|
+
return {
|
|
22363
|
+
...a,
|
|
22364
|
+
...b,
|
|
22365
|
+
};
|
|
22366
|
+
}
|
|
22336
22367
|
}
|
|
22337
22368
|
|
|
22338
22369
|
class TypeOrmRepository {
|