@ptc-org/nestjs-query-typegoose 2.0.1 → 2.1.1
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-typegoose",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "Typegoose adapter for @ptc-org/nestjs-query-core",
|
|
5
5
|
"author": "john mcinall<johnmcinall@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/tripss/nestjs-query#readme",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"lodash.escaperegexp": "^4.1.2",
|
|
24
24
|
"lodash.merge": "^4.6.2",
|
|
25
25
|
"tslib": "^2.4.0",
|
|
26
|
-
"@ptc-org/nestjs-query-core": "2.
|
|
26
|
+
"@ptc-org/nestjs-query-core": "2.1.1",
|
|
27
27
|
"reflect-metadata": "0.1.13"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AggregateQuery, AggregateResponse } from '@ptc-org/nestjs-query-core';
|
|
1
|
+
import { AggregateQuery, AggregateQueryField, AggregateResponse } from '@ptc-org/nestjs-query-core';
|
|
2
2
|
import { DocumentType } from '@typegoose/typegoose';
|
|
3
3
|
type Aggregate = Record<string, Record<string, unknown>>;
|
|
4
4
|
type Group = {
|
|
@@ -19,7 +19,7 @@ export declare class AggregateBuilder<Entity> {
|
|
|
19
19
|
build(aggregate: AggregateQuery<DocumentType<Entity>>): TypegooseGroupAndAggregate;
|
|
20
20
|
private createAggSelect;
|
|
21
21
|
private createGroupBySelect;
|
|
22
|
-
getGroupBySelects(
|
|
22
|
+
getGroupBySelects(aggregatedFields?: AggregateQueryField<DocumentType<Entity>>[]): string[] | undefined;
|
|
23
23
|
private getGroupByAlias;
|
|
24
24
|
}
|
|
25
25
|
export {};
|
|
@@ -62,11 +62,11 @@ class AggregateBuilder {
|
|
|
62
62
|
}
|
|
63
63
|
return { ...aggSelect, _id: this.createGroupBySelect(aggregate.groupBy) };
|
|
64
64
|
}
|
|
65
|
-
createAggSelect(func,
|
|
66
|
-
if (!
|
|
65
|
+
createAggSelect(func, aggregatedFields) {
|
|
66
|
+
if (!aggregatedFields) {
|
|
67
67
|
return {};
|
|
68
68
|
}
|
|
69
|
-
return
|
|
69
|
+
return aggregatedFields.reduce((agg, { field }) => {
|
|
70
70
|
const aggAlias = `${func}_${field}`;
|
|
71
71
|
const fieldAlias = `$${(0, helpers_1.getSchemaKey)(String(field))}`;
|
|
72
72
|
if (func === 'count') {
|
|
@@ -86,24 +86,24 @@ class AggregateBuilder {
|
|
|
86
86
|
return { ...agg, [aggAlias]: { [`$${func}`]: fieldAlias } };
|
|
87
87
|
}, {});
|
|
88
88
|
}
|
|
89
|
-
createGroupBySelect(
|
|
90
|
-
if (!
|
|
89
|
+
createGroupBySelect(aggregatedFields) {
|
|
90
|
+
if (!aggregatedFields) {
|
|
91
91
|
return null;
|
|
92
92
|
}
|
|
93
|
-
return
|
|
94
|
-
const aggAlias = this.getGroupByAlias(
|
|
95
|
-
const fieldAlias = `$${(0, helpers_1.getSchemaKey)(String(field))}`;
|
|
93
|
+
return aggregatedFields.reduce((id, aggregatedField) => {
|
|
94
|
+
const aggAlias = this.getGroupByAlias(aggregatedField);
|
|
95
|
+
const fieldAlias = `$${(0, helpers_1.getSchemaKey)(String(aggregatedField.field))}`;
|
|
96
96
|
return { ...id, [aggAlias]: fieldAlias };
|
|
97
97
|
}, {});
|
|
98
98
|
}
|
|
99
|
-
getGroupBySelects(
|
|
100
|
-
if (!
|
|
99
|
+
getGroupBySelects(aggregatedFields) {
|
|
100
|
+
if (!aggregatedFields) {
|
|
101
101
|
return undefined;
|
|
102
102
|
}
|
|
103
103
|
// append _id so it pulls the sort from the _id field
|
|
104
|
-
return (
|
|
104
|
+
return (aggregatedFields ?? []).map((aggregatedField) => `_id.${this.getGroupByAlias(aggregatedField)}`);
|
|
105
105
|
}
|
|
106
|
-
getGroupByAlias(field) {
|
|
106
|
+
getGroupByAlias({ field }) {
|
|
107
107
|
return `group_by_${field}`;
|
|
108
108
|
}
|
|
109
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.builder.js","sourceRoot":"","sources":["../../../../../packages/query-typegoose/src/query/aggregate.builder.ts"],"names":[],"mappings":";;;AAAA,2CAAoD;AAGpD,2CAAsC;AAEtC,uCAAwC;AAExC,IAAK,cAMJ;AAND,WAAK,cAAc;IACjB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,6BAAW,CAAA;IACX,6BAAW,CAAA;AACb,CAAC,EANI,cAAc,KAAd,cAAc,QAMlB;AAMD,MAAM,UAAU,GAAG,uCAAuC,CAAA;AAE1D;;;GAGG;AACH,MAAa,gBAAgB;IAC3B,wDAAwD;
|
|
1
|
+
{"version":3,"file":"aggregate.builder.js","sourceRoot":"","sources":["../../../../../packages/query-typegoose/src/query/aggregate.builder.ts"],"names":[],"mappings":"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"}
|