@ptc-org/nestjs-query-typeorm 4.3.0 → 4.3.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-typeorm",
3
- "version": "4.3.0",
3
+ "version": "4.3.2",
4
4
  "description": "Typeorm 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",
@@ -23,15 +23,15 @@
23
23
  "lodash.merge": "^4.6.2",
24
24
  "lodash.omit": "^4.5.0",
25
25
  "tslib": "^2.6.2",
26
- "uuid": "^9.0.1"
26
+ "uuid": "^9.0.1",
27
+ "@ptc-org/nestjs-query-core": "4.3.2",
28
+ "reflect-metadata": "0.1.13"
27
29
  },
28
30
  "peerDependencies": {
29
31
  "@nestjs/common": "^9.0.0 || ^10.0.0",
30
32
  "@nestjs/typeorm": "^9.0.0 || ^10.0.0",
31
33
  "class-transformer": "^0.5",
32
- "typeorm": "^0.3.15",
33
- "@ptc-org/nestjs-query-core": "4.3.0",
34
- "reflect-metadata": "0.1.13"
34
+ "typeorm": "^0.3.15"
35
35
  },
36
36
  "repository": {
37
37
  "type": "git",
@@ -13,6 +13,7 @@ declare enum AggregateFuncs {
13
13
  */
14
14
  export declare class AggregateBuilder<Entity> {
15
15
  readonly repo: Repository<Entity>;
16
+ private readonly isPostgres;
16
17
  constructor(repo: Repository<Entity>);
17
18
  static asyncConvertToAggregateResponse<Entity>(responsePromise: Promise<Record<string, unknown>[]>): Promise<AggregateResponse<Entity>[]>;
18
19
  static getAggregateSelects<Entity>(query: AggregateQuery<Entity>): string[];
@@ -4,6 +4,7 @@ exports.AggregateBuilder = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const nestjs_query_core_1 = require("@ptc-org/nestjs-query-core");
6
6
  const camel_case_1 = require("camel-case");
7
+ const DriverUtils_1 = require("typeorm/driver/DriverUtils");
7
8
  var AggregateFuncs;
8
9
  (function (AggregateFuncs) {
9
10
  AggregateFuncs["AVG"] = "AVG";
@@ -20,6 +21,7 @@ const AGG_REGEXP = /(AVG|SUM|COUNT|MAX|MIN|GROUP_BY)_(.*)/;
20
21
  class AggregateBuilder {
21
22
  constructor(repo) {
22
23
  this.repo = repo;
24
+ this.isPostgres = DriverUtils_1.DriverUtils.isPostgresFamily(repo.manager.connection.driver);
23
25
  }
24
26
  // eslint-disable-next-line @typescript-eslint/no-shadow
25
27
  static async asyncConvertToAggregateResponse(responsePromise) {
@@ -115,14 +117,27 @@ class AggregateBuilder {
115
117
  const groupByAlias = AggregateBuilder.getGroupByAlias(aggregatedField.field);
116
118
  if (this.isAggregateQueryGroupByField(aggregatedField)) {
117
119
  let query = `DATE(${col})`;
118
- if (aggregatedField.args.by === nestjs_query_core_1.GroupBy.YEAR) {
119
- query = `DATE(DATE_FORMAT(${col}, '%Y-01-01'))`;
120
+ if (this.isPostgres) {
121
+ if (aggregatedField.args.by === nestjs_query_core_1.GroupBy.YEAR) {
122
+ query = `DATE(TO_CHAR(${col}, 'YYYY-01-01'))`;
123
+ }
124
+ else if (aggregatedField.args.by === nestjs_query_core_1.GroupBy.MONTH) {
125
+ query = `DATE(TO_CHAR(${col}, 'YYYY-mm-01'))`;
126
+ }
127
+ else if (aggregatedField.args.by === nestjs_query_core_1.GroupBy.WEEK) {
128
+ query = `TO_DATE(TO_CHAR(${col}, 'YYYY-WW-01'), 'YYYY-WW-01')`;
129
+ }
120
130
  }
121
- else if (aggregatedField.args.by === nestjs_query_core_1.GroupBy.MONTH) {
122
- query = `DATE(DATE_FORMAT(${col}, '%Y-%m-01'))`;
123
- }
124
- else if (aggregatedField.args.by === nestjs_query_core_1.GroupBy.WEEK) {
125
- query = `STR_TO_DATE(DATE_FORMAT(${col}, '%X-%V-01'), '%X-%V-%w')`;
131
+ else {
132
+ if (aggregatedField.args.by === nestjs_query_core_1.GroupBy.YEAR) {
133
+ query = `DATE(DATE_FORMAT(${col}, '%Y-01-01'))`;
134
+ }
135
+ else if (aggregatedField.args.by === nestjs_query_core_1.GroupBy.MONTH) {
136
+ query = `DATE(DATE_FORMAT(${col}, '%Y-%m-01'))`;
137
+ }
138
+ else if (aggregatedField.args.by === nestjs_query_core_1.GroupBy.WEEK) {
139
+ query = `STR_TO_DATE(DATE_FORMAT(${col}, '%X-%V-01'), '%X-%V-%w')`;
140
+ }
126
141
  }
127
142
  return [query, groupByAlias];
128
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.builder.js","sourceRoot":"","sources":["../../../../../packages/query-typeorm/src/query/aggregate.builder.ts"],"names":[],"mappings":";;;AAAA,2CAAoD;AACpD,kEAMmC;AACnC,2CAAsC;AAGtC,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;AAED,MAAM,UAAU,GAAG,uCAAuC,CAAA;AAE1D;;;GAGG;AACH,MAAa,gBAAgB;IAC3B,YAAqB,IAAwB;QAAxB,SAAI,GAAJ,IAAI,CAAoB;IAAG,CAAC;IAEjD,wDAAwD;IACjD,MAAM,CAAC,KAAK,CAAC,+BAA+B,CACjD,eAAmD;QAEnD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAA;QACzC,OAAO,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAA;IACrD,CAAC;IAED,wDAAwD;IACjD,MAAM,CAAC,mBAAmB,CAAS,KAA6B;QACrE,OAAO,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5F,CAAC;IAED,wDAAwD;IAChD,MAAM,CAAC,0BAA0B,CAAS,KAA6B;QAC7E,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED,wDAAwD;IAChD,MAAM,CAAC,uBAAuB,CAAS,KAA6B;QAC1E,MAAM,IAAI,GAAkE;YAC1E,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;YACnC,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;YAC/B,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;YAC/B,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;YAC/B,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SAChC,CAAA;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;YACtF,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,CAAA;QAC9B,CAAC,EAAE,EAAc,CAAC,CAAA;IACpB,CAAC;IAED,wDAAwD;IACjD,MAAM,CAAC,iBAAiB,CAAS,IAAoB,EAAE,KAAmB;QAC/E,OAAO,GAAG,IAAI,IAAI,KAAe,EAAE,CAAA;IACrC,CAAC;IAED,wDAAwD;IACjD,MAAM,CAAC,eAAe,CAAS,KAAmB;QACvD,OAAO,YAAY,KAAe,EAAE,CAAA;IACtC,CAAC;IAED,wDAAwD;IACjD,MAAM,CAAC,0BAA0B,CAAS,aAAwC;QACvF,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAA8B,EAAE,WAAmB,EAAE,EAAE;gBAC1F,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAChD,IAAI,CAAC,WAAW,EAAE;oBAChB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;iBACzD;gBACD,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC5D,MAAM,OAAO,GAAG,IAAA,sBAAS,EAAC,WAAW,CAAC,WAAW,EAAE,CAAoC,CAAA;gBACvF,MAAM,SAAS,GAAG,gBAAgC,CAAA;gBAClD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;gBACpC,OAAO;oBACL,GAAG,GAAG;oBACN,mEAAmE;oBACnE,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE;iBAChE,CAAA;YACH,CAAC,EAAE,EAAE,CAAC,CAAA;QACR,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAwC,EAAM,EAAE,SAAiC,EAAE,KAAc;QAC3G,MAAM,OAAO,GAAG;YACd,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC;YACrD,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;YACrE,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;YACjE,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;YACjE,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;YACjE,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;SAClE,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,MAAM,IAAI,4BAAmB,CAAC,4BAA4B,CAAC,CAAA;SAC5D;QACD,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAA;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAO,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzH,CAAC;IAEO,eAAe,CAAC,IAAoB,EAAE,MAAsC,EAAE,KAAc;QAClG,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,EAAE,CAAA;SACV;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,KAAe,EAAE,CAAC,CAAC,CAAE,KAAgB,CAAA;YACrE,OAAO,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;QAC7E,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,mBAAmB,CAAC,gBAAgD,EAAE,KAAc;QAC1F,IAAI,CAAC,gBAAgB,EAAE;YACrB,OAAO,EAAE,CAAA;SACV;QAED,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,eAAe,CAAC,KAAe,EAAE,CAAC,CAAC,CAAE,eAAe,CAAC,KAAgB,CAAA;YACrG,MAAM,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC,KAAe,CAAC,CAAA;YAEtF,IAAI,IAAI,CAAC,4BAA4B,CAAC,eAAe,CAAC,EAAE;gBACtD,IAAI,KAAK,GAAG,QAAQ,GAAG,GAAG,CAAA;gBAC1B,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,2BAAO,CAAC,IAAI,EAAE;oBAC5C,KAAK,GAAG,oBAAoB,GAAG,gBAAgB,CAAA;iBAChD;qBAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,2BAAO,CAAC,KAAK,EAAE;oBACpD,KAAK,GAAG,oBAAoB,GAAG,gBAAgB,CAAA;iBAChD;qBAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,2BAAO,CAAC,IAAI,EAAE;oBACnD,KAAK,GAAG,2BAA2B,GAAG,4BAA4B,CAAA;iBACnE;gBAED,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;aAC7B;YAED,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE,YAAY,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,4BAA4B,CAClC,KAAuE;QAEvE,sEAAsE;QACtE,OAAO,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAK,KAA4C,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC/F,CAAC;CACF;AApID,4CAoIC"}
1
+ {"version":3,"file":"aggregate.builder.js","sourceRoot":"","sources":["../../../../../packages/query-typeorm/src/query/aggregate.builder.ts"],"names":[],"mappings":"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"}