@ptc-org/nestjs-query-mongoose 6.1.2 → 6.1.3
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.3",
|
|
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,7 +22,7 @@
|
|
|
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.
|
|
25
|
+
"@ptc-org/nestjs-query-core": "6.1.3",
|
|
26
26
|
"reflect-metadata": "0.2.2"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
@@ -31,44 +31,10 @@ 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
|
|
35
|
-
findRelation<Relation
|
|
36
|
-
|
|
37
|
-
|
|
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[]>;
|
|
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
|
+
queryRelations<Relation>(RelationClass: Class<Relation>, relationName: string, entities: Entity[], query: Query<Relation>): Promise<Map<Entity, Relation[]>>;
|
|
37
|
+
queryRelations<Relation>(RelationClass: Class<Relation>, relationName: string, dto: Entity, query: Query<Relation>): Promise<Relation[]>;
|
|
72
38
|
addRelations<Relation extends Document>(relationName: string, id: string, relationIds: (string | number)[], opts?: ModifyRelationOptions<Entity, Relation>): Promise<Entity>;
|
|
73
39
|
setRelations<Relation extends Document>(relationName: string, id: string, relationIds: (string | number)[], opts?: ModifyRelationOptions<Entity, Relation>): Promise<Entity>;
|
|
74
40
|
setRelation<Relation extends Document>(relationName: string, id: string | number, relationId: string | number, opts?: ModifyRelationOptions<Entity, Relation>): Promise<Entity>;
|
|
@@ -80,7 +46,7 @@ export declare abstract class ReferenceQueryService<Entity extends Document> {
|
|
|
80
46
|
private getReferenceQueryBuilder;
|
|
81
47
|
private getReferenceModel;
|
|
82
48
|
private getReferenceFilter;
|
|
83
|
-
private
|
|
84
|
-
private
|
|
49
|
+
private getObjectIdReferenceFilter;
|
|
50
|
+
private getVirtualReferenceFilter;
|
|
85
51
|
private getRefCount;
|
|
86
52
|
}
|
|
@@ -9,12 +9,16 @@ 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);
|
|
12
14
|
if (Array.isArray(dto)) {
|
|
13
|
-
return
|
|
15
|
+
return dto.reduce(async (mapPromise, entity) => {
|
|
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()));
|
|
14
20
|
}
|
|
15
21
|
const assembler = nestjs_query_core_1.AssemblerFactory.getAssembler(RelationClass, mongoose_1.Document);
|
|
16
|
-
const relationModel = this.getReferenceModel(relationName);
|
|
17
|
-
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
18
22
|
const refFilter = this.getReferenceFilter(relationName, dto, assembler.convertQuery({ filter }).filter);
|
|
19
23
|
if (!refFilter) {
|
|
20
24
|
return [];
|
|
@@ -30,7 +34,11 @@ class ReferenceQueryService {
|
|
|
30
34
|
async countRelations(RelationClass, relationName, dto, filter) {
|
|
31
35
|
this.checkForReference('CountRelations', relationName);
|
|
32
36
|
if (Array.isArray(dto)) {
|
|
33
|
-
return
|
|
37
|
+
return dto.reduce(async (mapPromise, entity) => {
|
|
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()));
|
|
34
42
|
}
|
|
35
43
|
const assembler = nestjs_query_core_1.AssemblerFactory.getAssembler(RelationClass, mongoose_1.Document);
|
|
36
44
|
const relationModel = this.getReferenceModel(relationName);
|
|
@@ -43,126 +51,39 @@ class ReferenceQueryService {
|
|
|
43
51
|
}
|
|
44
52
|
async findRelation(RelationClass, relationName, dto, opts) {
|
|
45
53
|
this.checkForReference('FindRelation', relationName);
|
|
54
|
+
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
46
55
|
if (Array.isArray(dto)) {
|
|
47
|
-
return
|
|
56
|
+
return dto.reduce(async (prev, curr) => {
|
|
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()));
|
|
48
61
|
}
|
|
49
62
|
const foundEntity = await this.Model.findById(dto._id ?? dto.id);
|
|
50
63
|
if (!foundEntity) {
|
|
51
64
|
return undefined;
|
|
52
65
|
}
|
|
53
66
|
const assembler = nestjs_query_core_1.AssemblerFactory.getAssembler(RelationClass, mongoose_1.Document);
|
|
54
|
-
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
55
67
|
const filterQuery = referenceQueryBuilder.buildFilterQuery(assembler.convertQuery({ filter: opts?.filter }).filter);
|
|
56
68
|
const populated = await foundEntity.populate({ path: relationName, match: filterQuery });
|
|
57
69
|
const populatedRef = populated.get(relationName);
|
|
58
70
|
return populatedRef ? assembler.convertToDTO(populatedRef) : undefined;
|
|
59
71
|
}
|
|
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
|
-
}
|
|
155
72
|
async queryRelations(RelationClass, relationName, dto, query) {
|
|
156
73
|
this.checkForReference('QueryRelations', relationName);
|
|
74
|
+
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
157
75
|
if (Array.isArray(dto)) {
|
|
158
|
-
return
|
|
76
|
+
return dto.reduce(async (mapPromise, entity) => {
|
|
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()));
|
|
159
81
|
}
|
|
160
82
|
const foundEntity = await this.Model.findById(dto._id ?? dto.id);
|
|
161
83
|
if (!foundEntity) {
|
|
162
84
|
return [];
|
|
163
85
|
}
|
|
164
86
|
const assembler = nestjs_query_core_1.AssemblerFactory.getAssembler(RelationClass, mongoose_1.Document);
|
|
165
|
-
const referenceQueryBuilder = this.getReferenceQueryBuilder(relationName);
|
|
166
87
|
const { filterQuery, options } = referenceQueryBuilder.buildQuery(assembler.convertQuery(query));
|
|
167
88
|
const populated = await foundEntity.populate({ path: relationName, match: filterQuery, options });
|
|
168
89
|
return assembler.convertToDTOs(populated.get(relationName));
|
|
@@ -274,39 +195,34 @@ class ReferenceQueryService {
|
|
|
274
195
|
throw new Error(`Unable to lookup reference type for ${refName}`);
|
|
275
196
|
}
|
|
276
197
|
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) {
|
|
292
198
|
if (this.isReferencePath(refName)) {
|
|
293
|
-
return
|
|
294
|
-
foreignField: '_id',
|
|
295
|
-
localField: refName
|
|
296
|
-
};
|
|
199
|
+
return this.getObjectIdReferenceFilter(refName, entity, filter);
|
|
297
200
|
}
|
|
298
201
|
if (this.isVirtualPath(refName)) {
|
|
299
202
|
const virtualType = this.Model.schema.virtualpath(refName);
|
|
300
|
-
if (
|
|
301
|
-
|
|
203
|
+
if ((0, mongoose_types_helper_1.isVirtualTypeWithReferenceOptions)(virtualType)) {
|
|
204
|
+
return this.getVirtualReferenceFilter(virtualType, entity, filter);
|
|
302
205
|
}
|
|
303
|
-
|
|
304
|
-
foreignField: virtualType.options.foreignField,
|
|
305
|
-
localField: virtualType.options.localField
|
|
306
|
-
};
|
|
206
|
+
throw new Error(`Unable to lookup reference type for ${refName}`);
|
|
307
207
|
}
|
|
308
208
|
return undefined;
|
|
309
209
|
}
|
|
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
|
+
}
|
|
310
226
|
getRefCount(relationName, relationIds, filter) {
|
|
311
227
|
const referenceModel = this.getReferenceModel(relationName);
|
|
312
228
|
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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"}
|