@ptc-org/nestjs-query-mongoose 6.1.0 → 6.1.2
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ptc-org/nestjs-query-mongoose",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.2",
|
|
4
4
|
"description": "Mongoose adapter for @ptc-org/nestjs-query-core",
|
|
5
5
|
"author": "doug-martin <doug@dougamartin.com>",
|
|
6
6
|
"homepage": "https://github.com/tripss/nestjs-query#readme",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"lodash.escaperegexp": "^4.1.2",
|
|
23
23
|
"lodash.merge": "^4.6.2",
|
|
24
24
|
"tslib": "^2.6.2",
|
|
25
|
-
"@ptc-org/nestjs-query-core": "6.1.
|
|
26
|
-
"reflect-metadata": "0.2.
|
|
25
|
+
"@ptc-org/nestjs-query-core": "6.1.2",
|
|
26
|
+
"reflect-metadata": "0.2.2"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"@nestjs/common": "^9.0.0 || ^10.0.0",
|
|
@@ -31,10 +31,44 @@ export declare abstract class ReferenceQueryService<Entity extends Document> {
|
|
|
31
31
|
aggregateRelations<Relation extends Document>(RelationClass: Class<Relation>, relationName: string, dto: Entity, filter: Filter<Relation>, aggregate: AggregateQuery<Relation>): Promise<AggregateResponse<Relation>[]>;
|
|
32
32
|
countRelations<Relation extends Document>(RelationClass: Class<Relation>, relationName: string, entities: Entity[], filter: Filter<Relation>): Promise<Map<Entity, number>>;
|
|
33
33
|
countRelations<Relation extends Document>(RelationClass: Class<Relation>, relationName: string, dto: Entity, filter: Filter<Relation>): Promise<number>;
|
|
34
|
-
findRelation<Relation>(RelationClass: Class<Relation>, relationName: string, dtos: Entity[], opts?: FindRelationOptions<Relation>): Promise<Map<Entity, Relation | undefined>>;
|
|
35
|
-
findRelation<Relation>(RelationClass: Class<Relation>, relationName: string, dto: Entity, opts?: FindRelationOptions<Relation>): Promise<Relation | undefined>;
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
findRelation<Relation extends Document>(RelationClass: Class<Relation>, relationName: string, dtos: Entity[], opts?: FindRelationOptions<Relation>): Promise<Map<Entity, Relation | undefined>>;
|
|
35
|
+
findRelation<Relation extends Document>(RelationClass: Class<Relation>, relationName: string, dto: Entity, opts?: FindRelationOptions<Relation>): Promise<Relation | undefined>;
|
|
36
|
+
/**
|
|
37
|
+
* Query for an array of relations for multiple dtos.
|
|
38
|
+
* @param RelationClass - The class to serialize the relations into.
|
|
39
|
+
* @param dtos - The entities to query relations for.
|
|
40
|
+
* @param relationName - The name of relation to query for.
|
|
41
|
+
* @param opts - A query to filter, page or sort relations.
|
|
42
|
+
* @param withDeleted - Also query the soft deleted records
|
|
43
|
+
*/
|
|
44
|
+
private batchQueryRelations;
|
|
45
|
+
/**
|
|
46
|
+
* Query for an array of relations for multiple dtos.
|
|
47
|
+
* @param RelationClass - The class to serialize the relations into.
|
|
48
|
+
* @param entities - The entities to query relations for.
|
|
49
|
+
* @param relationName - The name of relation to query for.
|
|
50
|
+
* @param filter - Filter.
|
|
51
|
+
* @param query - A query to filter, page or sort relations.
|
|
52
|
+
*/
|
|
53
|
+
private batchAggregateRelations;
|
|
54
|
+
/**
|
|
55
|
+
* Count the number of relations for multiple dtos.
|
|
56
|
+
* @param RelationClass - The class to serialize the relations into.
|
|
57
|
+
* @param entities - The entities to query relations for.
|
|
58
|
+
* @param relationName - The name of relation to query for.
|
|
59
|
+
* @param filter - The filter to apply to the relation query.
|
|
60
|
+
*/
|
|
61
|
+
private batchCountRelations;
|
|
62
|
+
/**
|
|
63
|
+
* Query for a relation for multiple dtos.
|
|
64
|
+
* @param RelationClass - The class to serialize the relations into.
|
|
65
|
+
* @param dtos - The dto to query relations for.
|
|
66
|
+
* @param relationName - The name of relation to query for.
|
|
67
|
+
* @param opts - A query to filter, page or sort relations.
|
|
68
|
+
*/
|
|
69
|
+
private batchFindRelations;
|
|
70
|
+
queryRelations<Relation extends Document>(RelationClass: Class<Relation>, relationName: string, entities: Entity[], query: Query<Relation>): Promise<Map<Entity, Relation[]>>;
|
|
71
|
+
queryRelations<Relation extends Document>(RelationClass: Class<Relation>, relationName: string, dto: Entity, query: Query<Relation>): Promise<Relation[]>;
|
|
38
72
|
addRelations<Relation extends Document>(relationName: string, id: string, relationIds: (string | number)[], opts?: ModifyRelationOptions<Entity, Relation>): Promise<Entity>;
|
|
39
73
|
setRelations<Relation extends Document>(relationName: string, id: string, relationIds: (string | number)[], opts?: ModifyRelationOptions<Entity, Relation>): Promise<Entity>;
|
|
40
74
|
setRelation<Relation extends Document>(relationName: string, id: string | number, relationId: string | number, opts?: ModifyRelationOptions<Entity, Relation>): Promise<Entity>;
|
|
@@ -46,7 +80,7 @@ export declare abstract class ReferenceQueryService<Entity extends Document> {
|
|
|
46
80
|
private getReferenceQueryBuilder;
|
|
47
81
|
private getReferenceModel;
|
|
48
82
|
private getReferenceFilter;
|
|
49
|
-
private
|
|
50
|
-
private
|
|
83
|
+
private getReferenceIds;
|
|
84
|
+
private getReferenceFieldMap;
|
|
51
85
|
private getRefCount;
|
|
52
86
|
}
|
|
@@ -9,16 +9,12 @@ const query_1 = require("../query");
|
|
|
9
9
|
class ReferenceQueryService {
|
|
10
10
|
async aggregateRelations(RelationClass, relationName, dto, filter, aggregateQuery) {
|
|
11
11
|
this.checkForReference('AggregateRelations', relationName);
|
|
12
|
-
const relationModel = this.getReferenceModel(relationName);
|
|
13
|
-
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
14
12
|
if (Array.isArray(dto)) {
|
|
15
|
-
return
|
|
16
|
-
const map = await mapPromise;
|
|
17
|
-
const refs = await this.aggregateRelations(RelationClass, relationName, entity, filter, aggregateQuery);
|
|
18
|
-
return map.set(entity, refs);
|
|
19
|
-
}, Promise.resolve(new Map()));
|
|
13
|
+
return this.batchAggregateRelations(RelationClass, relationName, dto, filter, aggregateQuery);
|
|
20
14
|
}
|
|
21
15
|
const assembler = nestjs_query_core_1.AssemblerFactory.getAssembler(RelationClass, mongoose_1.Document);
|
|
16
|
+
const relationModel = this.getReferenceModel(relationName);
|
|
17
|
+
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
22
18
|
const refFilter = this.getReferenceFilter(relationName, dto, assembler.convertQuery({ filter }).filter);
|
|
23
19
|
if (!refFilter) {
|
|
24
20
|
return [];
|
|
@@ -34,11 +30,7 @@ class ReferenceQueryService {
|
|
|
34
30
|
async countRelations(RelationClass, relationName, dto, filter) {
|
|
35
31
|
this.checkForReference('CountRelations', relationName);
|
|
36
32
|
if (Array.isArray(dto)) {
|
|
37
|
-
return
|
|
38
|
-
const map = await mapPromise;
|
|
39
|
-
const refs = await this.countRelations(RelationClass, relationName, entity, filter);
|
|
40
|
-
return map.set(entity, refs);
|
|
41
|
-
}, Promise.resolve(new Map()));
|
|
33
|
+
return this.batchCountRelations(RelationClass, relationName, dto, filter);
|
|
42
34
|
}
|
|
43
35
|
const assembler = nestjs_query_core_1.AssemblerFactory.getAssembler(RelationClass, mongoose_1.Document);
|
|
44
36
|
const relationModel = this.getReferenceModel(relationName);
|
|
@@ -51,39 +43,126 @@ class ReferenceQueryService {
|
|
|
51
43
|
}
|
|
52
44
|
async findRelation(RelationClass, relationName, dto, opts) {
|
|
53
45
|
this.checkForReference('FindRelation', relationName);
|
|
54
|
-
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
55
46
|
if (Array.isArray(dto)) {
|
|
56
|
-
return
|
|
57
|
-
const map = await prev;
|
|
58
|
-
const ref = await this.findRelation(RelationClass, relationName, curr, opts);
|
|
59
|
-
return map.set(curr, ref);
|
|
60
|
-
}, Promise.resolve(new Map()));
|
|
47
|
+
return this.batchFindRelations(RelationClass, relationName, dto, opts);
|
|
61
48
|
}
|
|
62
49
|
const foundEntity = await this.Model.findById(dto._id ?? dto.id);
|
|
63
50
|
if (!foundEntity) {
|
|
64
51
|
return undefined;
|
|
65
52
|
}
|
|
66
53
|
const assembler = nestjs_query_core_1.AssemblerFactory.getAssembler(RelationClass, mongoose_1.Document);
|
|
54
|
+
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
67
55
|
const filterQuery = referenceQueryBuilder.buildFilterQuery(assembler.convertQuery({ filter: opts?.filter }).filter);
|
|
68
56
|
const populated = await foundEntity.populate({ path: relationName, match: filterQuery });
|
|
69
57
|
const populatedRef = populated.get(relationName);
|
|
70
58
|
return populatedRef ? assembler.convertToDTO(populatedRef) : undefined;
|
|
71
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Query for an array of relations for multiple dtos.
|
|
62
|
+
* @param RelationClass - The class to serialize the relations into.
|
|
63
|
+
* @param dtos - The entities to query relations for.
|
|
64
|
+
* @param relationName - The name of relation to query for.
|
|
65
|
+
* @param opts - A query to filter, page or sort relations.
|
|
66
|
+
* @param withDeleted - Also query the soft deleted records
|
|
67
|
+
*/
|
|
68
|
+
async batchQueryRelations(RelationClass, relationName, dtos, opts, withDeleted) {
|
|
69
|
+
const assembler = nestjs_query_core_1.AssemblerFactory.getAssembler(RelationClass, mongoose_1.Document);
|
|
70
|
+
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
71
|
+
const query = assembler.convertQuery(opts);
|
|
72
|
+
// If paging is enabled, we need to query each entity individually
|
|
73
|
+
if (query.paging) {
|
|
74
|
+
const entityRelations = await Promise.all(dtos.map((d) => this.queryRelations(RelationClass, relationName, d, opts)));
|
|
75
|
+
return entityRelations.reduce((results, relations, index) => {
|
|
76
|
+
const e = dtos[index];
|
|
77
|
+
results.set(e, relations);
|
|
78
|
+
return results;
|
|
79
|
+
}, new Map());
|
|
80
|
+
}
|
|
81
|
+
const refFilter = this.getReferenceFilter(relationName, dtos, query.filter);
|
|
82
|
+
const results = new Map();
|
|
83
|
+
if (!refFilter) {
|
|
84
|
+
return results;
|
|
85
|
+
}
|
|
86
|
+
const refFieldMap = this.getReferenceFieldMap(relationName);
|
|
87
|
+
if (!refFieldMap) {
|
|
88
|
+
return results;
|
|
89
|
+
}
|
|
90
|
+
const { filterQuery, options } = referenceQueryBuilder.buildQuery({ ...query, filter: refFilter });
|
|
91
|
+
const referenceModel = this.getReferenceModel(relationName);
|
|
92
|
+
const entityRelations = await referenceModel.find(filterQuery).sort(options.sort).exec();
|
|
93
|
+
for (const dto of dtos) {
|
|
94
|
+
const referenceIds = this.getReferenceIds(refFieldMap.localField, dto);
|
|
95
|
+
const refs = entityRelations.filter((er) => {
|
|
96
|
+
return referenceIds.some((rid) => {
|
|
97
|
+
const oneOrManyIds = er[refFieldMap.foreignField];
|
|
98
|
+
const ids = (Array.isArray(oneOrManyIds) ? oneOrManyIds : [oneOrManyIds]);
|
|
99
|
+
return ids.some((id) => id.equals(rid));
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
results.set(dto, await assembler.convertToDTOs(refs));
|
|
103
|
+
}
|
|
104
|
+
return results;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Query for an array of relations for multiple dtos.
|
|
108
|
+
* @param RelationClass - The class to serialize the relations into.
|
|
109
|
+
* @param entities - The entities to query relations for.
|
|
110
|
+
* @param relationName - The name of relation to query for.
|
|
111
|
+
* @param filter - Filter.
|
|
112
|
+
* @param query - A query to filter, page or sort relations.
|
|
113
|
+
*/
|
|
114
|
+
async batchAggregateRelations(RelationClass, relationName, entities, filter, query) {
|
|
115
|
+
const entityRelations = await Promise.all(entities.map((e) => this.aggregateRelations(RelationClass, relationName, e, filter, query)));
|
|
116
|
+
return entityRelations.reduce((results, relationAggregate, index) => {
|
|
117
|
+
const e = entities[index];
|
|
118
|
+
results.set(e, relationAggregate);
|
|
119
|
+
return results;
|
|
120
|
+
}, new Map());
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Count the number of relations for multiple dtos.
|
|
124
|
+
* @param RelationClass - The class to serialize the relations into.
|
|
125
|
+
* @param entities - The entities to query relations for.
|
|
126
|
+
* @param relationName - The name of relation to query for.
|
|
127
|
+
* @param filter - The filter to apply to the relation query.
|
|
128
|
+
*/
|
|
129
|
+
async batchCountRelations(RelationClass, relationName, entities, filter) {
|
|
130
|
+
const entityRelations = await Promise.all(entities.map((e) => this.countRelations(RelationClass, relationName, e, filter)));
|
|
131
|
+
return entityRelations.reduce((results, relationCount, index) => {
|
|
132
|
+
const e = entities[index];
|
|
133
|
+
results.set(e, relationCount);
|
|
134
|
+
return results;
|
|
135
|
+
}, new Map());
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Query for a relation for multiple dtos.
|
|
139
|
+
* @param RelationClass - The class to serialize the relations into.
|
|
140
|
+
* @param dtos - The dto to query relations for.
|
|
141
|
+
* @param relationName - The name of relation to query for.
|
|
142
|
+
* @param opts - A query to filter, page or sort relations.
|
|
143
|
+
*/
|
|
144
|
+
async batchFindRelations(RelationClass, relationName, dtos, opts) {
|
|
145
|
+
const batchResults = await this.batchQueryRelations(RelationClass, relationName, dtos, {
|
|
146
|
+
filter: opts?.filter
|
|
147
|
+
}, opts?.withDeleted);
|
|
148
|
+
const results = new Map();
|
|
149
|
+
batchResults.forEach((relation, dto) => {
|
|
150
|
+
// get just the first one.
|
|
151
|
+
results.set(dto, relation[0]);
|
|
152
|
+
});
|
|
153
|
+
return results;
|
|
154
|
+
}
|
|
72
155
|
async queryRelations(RelationClass, relationName, dto, query) {
|
|
73
156
|
this.checkForReference('QueryRelations', relationName);
|
|
74
|
-
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
75
157
|
if (Array.isArray(dto)) {
|
|
76
|
-
return
|
|
77
|
-
const map = await mapPromise;
|
|
78
|
-
const refs = await this.queryRelations(RelationClass, relationName, entity, query);
|
|
79
|
-
return map.set(entity, refs);
|
|
80
|
-
}, Promise.resolve(new Map()));
|
|
158
|
+
return this.batchQueryRelations(RelationClass, relationName, dto, query);
|
|
81
159
|
}
|
|
82
160
|
const foundEntity = await this.Model.findById(dto._id ?? dto.id);
|
|
83
161
|
if (!foundEntity) {
|
|
84
162
|
return [];
|
|
85
163
|
}
|
|
86
164
|
const assembler = nestjs_query_core_1.AssemblerFactory.getAssembler(RelationClass, mongoose_1.Document);
|
|
165
|
+
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
87
166
|
const { filterQuery, options } = referenceQueryBuilder.buildQuery(assembler.convertQuery(query));
|
|
88
167
|
const populated = await foundEntity.populate({ path: relationName, match: filterQuery, options });
|
|
89
168
|
return assembler.convertToDTOs(populated.get(relationName));
|
|
@@ -195,34 +274,39 @@ class ReferenceQueryService {
|
|
|
195
274
|
throw new Error(`Unable to lookup reference type for ${refName}`);
|
|
196
275
|
}
|
|
197
276
|
getReferenceFilter(refName, entity, filter) {
|
|
277
|
+
const refFieldMap = this.getReferenceFieldMap(refName);
|
|
278
|
+
if (!refFieldMap) {
|
|
279
|
+
return undefined;
|
|
280
|
+
}
|
|
281
|
+
const referenceIds = this.getReferenceIds(refFieldMap.localField, entity);
|
|
282
|
+
const refFilter = {
|
|
283
|
+
[refFieldMap.foreignField]: { in: referenceIds }
|
|
284
|
+
};
|
|
285
|
+
return (0, nestjs_query_core_1.mergeFilter)(filter ?? {}, refFilter);
|
|
286
|
+
}
|
|
287
|
+
getReferenceIds(localField, entity) {
|
|
288
|
+
const entities = Array.isArray(entity) ? entity : [entity];
|
|
289
|
+
return entities.flatMap((e) => e[localField]).filter((id) => !!id);
|
|
290
|
+
}
|
|
291
|
+
getReferenceFieldMap(refName) {
|
|
198
292
|
if (this.isReferencePath(refName)) {
|
|
199
|
-
return
|
|
293
|
+
return {
|
|
294
|
+
foreignField: '_id',
|
|
295
|
+
localField: refName
|
|
296
|
+
};
|
|
200
297
|
}
|
|
201
298
|
if (this.isVirtualPath(refName)) {
|
|
202
299
|
const virtualType = this.Model.schema.virtualpath(refName);
|
|
203
|
-
if ((0, mongoose_types_helper_1.isVirtualTypeWithReferenceOptions)(virtualType)) {
|
|
204
|
-
|
|
300
|
+
if (!(0, mongoose_types_helper_1.isVirtualTypeWithReferenceOptions)(virtualType)) {
|
|
301
|
+
throw new Error(`Unable to lookup reference type for ${refName}`);
|
|
205
302
|
}
|
|
206
|
-
|
|
303
|
+
return {
|
|
304
|
+
foreignField: virtualType.options.foreignField,
|
|
305
|
+
localField: virtualType.options.localField
|
|
306
|
+
};
|
|
207
307
|
}
|
|
208
308
|
return undefined;
|
|
209
309
|
}
|
|
210
|
-
getObjectIdReferenceFilter(refName, entity, filter) {
|
|
211
|
-
const referenceIds = entity[refName];
|
|
212
|
-
const refFilter = {
|
|
213
|
-
_id: { [Array.isArray(referenceIds) ? 'in' : 'eq']: referenceIds }
|
|
214
|
-
};
|
|
215
|
-
return (0, nestjs_query_core_1.mergeFilter)(filter ?? {}, refFilter);
|
|
216
|
-
}
|
|
217
|
-
getVirtualReferenceFilter(virtualType, entity, filter) {
|
|
218
|
-
const { foreignField, localField } = virtualType.options;
|
|
219
|
-
const refVal = entity[localField];
|
|
220
|
-
const isArray = Array.isArray(refVal);
|
|
221
|
-
const lookupFilter = {
|
|
222
|
-
[foreignField]: { [isArray ? 'in' : 'eq']: refVal }
|
|
223
|
-
};
|
|
224
|
-
return (0, nestjs_query_core_1.mergeFilter)(filter ?? {}, lookupFilter);
|
|
225
|
-
}
|
|
226
310
|
getRefCount(relationName, relationIds, filter) {
|
|
227
311
|
const referenceModel = this.getReferenceModel(relationName);
|
|
228
312
|
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-query.service.js","sourceRoot":"","sources":["../../../../../packages/query-mongoose/src/services/reference-query.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reference-query.service.js","sourceRoot":"","sources":["../../../../../packages/query-mongoose/src/services/reference-query.service.ts"],"names":[],"mappings":"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"}
|