@aldb2b/common 1.0.46 → 1.0.47

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.
@@ -3,13 +3,16 @@ import { MongooseFindOptions } from '../mongoose-find-options';
3
3
  export declare class AggregateConvertor {
4
4
  private findDto;
5
5
  private populateFields;
6
+ private nonArrayAttributes;
6
7
  private aggregates;
7
- constructor(findDto: MongooseFindOptions, populateFields: object);
8
+ constructor(findDto: MongooseFindOptions, populateFields: object, nonArrayAttributes?: string[]);
8
9
  createAggregate(): mongoose.PipelineStage[];
9
10
  private modifyQuery;
10
11
  private createLookups;
11
12
  private getFieldToPopulate;
12
13
  private getPipeLine;
14
+ private getInitialPipeline;
15
+ private getPipelineExpression;
13
16
  private createObjectIds;
14
17
  private isValidObjectId;
15
18
  private hasLookupIndex;
@@ -5,9 +5,10 @@ const mongoose = require("mongoose");
5
5
  const moment = require("moment");
6
6
  const ObjectId = mongoose.Types.ObjectId;
7
7
  class AggregateConvertor {
8
- constructor(findDto, populateFields) {
8
+ constructor(findDto, populateFields, nonArrayAttributes = []) {
9
9
  this.findDto = findDto;
10
10
  this.populateFields = populateFields;
11
+ this.nonArrayAttributes = nonArrayAttributes;
11
12
  this.aggregates = [{ $match: {} }];
12
13
  }
13
14
  createAggregate() {
@@ -46,13 +47,13 @@ class AggregateConvertor {
46
47
  this.findDto.populates.forEach(item => {
47
48
  const itemType = typeof item;
48
49
  const fieldToPopulate = this.getFieldToPopulate(item, itemType);
49
- const pipeLine = this.getPipeLine(item, itemType);
50
+ const pipeLine = this.getPipeLine(item, itemType, fieldToPopulate);
50
51
  const lookUp = {
51
52
  $lookup: {
52
53
  from: this.populateFields[fieldToPopulate],
53
54
  let: { field_id: `$${fieldToPopulate}` },
54
55
  pipeline: pipeLine,
55
- as: fieldToPopulate,
56
+ as: `${fieldToPopulate}`,
56
57
  },
57
58
  };
58
59
  if (Array.isArray(lookUp.$lookup.from)) {
@@ -66,8 +67,6 @@ class AggregateConvertor {
66
67
  else {
67
68
  lookUps.push(lookUp);
68
69
  }
69
- const unwind = { $unwind: `$${fieldToPopulate}` };
70
- lookUps.push(unwind);
71
70
  });
72
71
  }
73
72
  this.aggregates.push(...lookUps);
@@ -79,13 +78,11 @@ class AggregateConvertor {
79
78
  ? item
80
79
  : null;
81
80
  }
82
- getPipeLine(item, itemType) {
81
+ getPipeLine(item, itemType, fieldToPopulate) {
83
82
  const projection = itemType === 'object' && item.select
84
83
  ? item.select.trim().split(/\s+/)
85
84
  : null;
86
- const pipeLine = [
87
- { $match: { $expr: { $eq: ['$_id', '$$field_id'] } } },
88
- ];
85
+ const pipeLine = this.getInitialPipeline(fieldToPopulate);
89
86
  if (projection) {
90
87
  const selectObject = projection.reduce((obj, item) => {
91
88
  return Object.assign(Object.assign({}, obj), { [item]: 1 });
@@ -95,6 +92,23 @@ class AggregateConvertor {
95
92
  }
96
93
  return pipeLine;
97
94
  }
95
+ getInitialPipeline(fieldToPopulate) {
96
+ return [
97
+ {
98
+ $match: {
99
+ $expr: {
100
+ [`${this.getPipelineExpression(fieldToPopulate)}`]: [
101
+ '$_id',
102
+ '$$field_id',
103
+ ],
104
+ },
105
+ },
106
+ },
107
+ ];
108
+ }
109
+ getPipelineExpression(fieldToPopulate) {
110
+ return this.nonArrayAttributes.includes(fieldToPopulate) ? '$eq' : '$in';
111
+ }
98
112
  createObjectIds(query) {
99
113
  for (const item in query) {
100
114
  if (this.isValidObjectId(query[item]) && this.hasLookupIndex(item)) {
@@ -1 +1 @@
1
- {"version":3,"file":"AggregateConvertor.js","sourceRoot":"","sources":["../../../src/db/aggregate/AggregateConvertor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AggregateConvertor.js","sourceRoot":"","sources":["../../../src/db/aggregate/AggregateConvertor.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
- export declare function createAggregateResponse(query: any, queryResult: any): any;
1
+ import { MongooseFindOptions } from '../mongoose-find-options';
2
+ export declare function createAggregateResponse(query: MongooseFindOptions, queryResult: any, nonArrayAttributes?: string[]): any;
@@ -1,10 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createAggregateResponse = void 0;
4
- function createAggregateResponse(query, queryResult) {
4
+ const modifyResponse = (data, nonArrayAttributes) => {
5
+ return data.map(item => {
6
+ nonArrayAttributes.forEach(attr => {
7
+ if (item[attr] && Array.isArray(item[attr]) && item[attr].length) {
8
+ item[attr] = item[attr][0];
9
+ }
10
+ else if (item[attr] && Array.isArray(item[attr])) {
11
+ item[attr] = null;
12
+ }
13
+ return item;
14
+ });
15
+ return item;
16
+ });
17
+ };
18
+ function createAggregateResponse(query, queryResult, nonArrayAttributes = []) {
5
19
  var _a, _b, _c, _d;
6
20
  const createResponse = {
7
- data: ((_b = (_a = queryResult[0]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length) ? queryResult[0].data : [],
21
+ data: ((_b = (_a = queryResult[0]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length)
22
+ ? modifyResponse(queryResult[0].data, nonArrayAttributes)
23
+ : [],
8
24
  };
9
25
  if (query.skip) {
10
26
  createResponse.skip = Number(query.skip);
@@ -1 +1 @@
1
- {"version":3,"file":"createAggregateResponse.js","sourceRoot":"","sources":["../../../src/db/aggregate/createAggregateResponse.ts"],"names":[],"mappings":";;;AAAA,SAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW;;IACxD,MAAM,cAAc,GAAQ;QAC1B,IAAI,EAAE,CAAA,MAAA,MAAA,WAAW,CAAC,CAAC,CAAC,0CAAE,IAAI,0CAAE,MAAM,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KAC9D,CAAA;IAED,IAAI,KAAK,CAAC,IAAI,EAAE;QACd,cAAc,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;KACzC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE;QACf,cAAc,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;KAC3C;SAAM;QACL,cAAc,CAAC,KAAK,GAAG,GAAG,CAAA;KAC3B;IACD,IAAI,KAAK,CAAC,QAAQ,EAAE;QAClB,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC9B,cAAc,CAAC,KAAK;YAClB,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,KAAI,MAAA,MAAA,WAAW,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAA;gBACrD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC/B,CAAC,CAAC,CAAC,CAAA;KACR;IAED,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;QAC9B,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAA;KAClD;IAED,IAAI,KAAK,CAAC,IAAI,EAAE;QACd,cAAc,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;KACjC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AA7BD,0DA6BC"}
1
+ {"version":3,"file":"createAggregateResponse.js","sourceRoot":"","sources":["../../../src/db/aggregate/createAggregateResponse.ts"],"names":[],"mappings":";;;AAEA,MAAM,cAAc,GAAG,CAAC,IAAc,EAAE,kBAA4B,EAAE,EAAE;IACtE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACrB,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;gBAChE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;aAC3B;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;gBAClD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;aAClB;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAgB,uBAAuB,CACrC,KAA0B,EAC1B,WAAW,EACX,qBAA+B,EAAE;;IAEjC,MAAM,cAAc,GAAQ;QAC1B,IAAI,EAAE,CAAA,MAAA,MAAA,WAAW,CAAC,CAAC,CAAC,0CAAE,IAAI,0CAAE,MAAM;YAChC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC;YACzD,CAAC,CAAC,EAAE;KACP,CAAA;IAED,IAAI,KAAK,CAAC,IAAI,EAAE;QACd,cAAc,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;KACzC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE;QACf,cAAc,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;KAC3C;SAAM;QACL,cAAc,CAAC,KAAK,GAAG,GAAG,CAAA;KAC3B;IACD,IAAI,KAAK,CAAC,QAAQ,EAAE;QAClB,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC9B,cAAc,CAAC,KAAK;YAClB,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,KAAI,MAAA,MAAA,WAAW,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAA;gBACrD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC/B,CAAC,CAAC,CAAC,CAAA;KACR;IAED,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE;QAC9B,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAA;KAClD;IAED,IAAI,KAAK,CAAC,IAAI,EAAE;QACd,cAAc,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;KACjC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAnCD,0DAmCC"}
@@ -3257,13 +3257,13 @@
3257
3257
  "affectsGlobalScope": false
3258
3258
  },
3259
3259
  "../src/db/aggregate/AggregateConvertor.ts": {
3260
- "version": "d78f13e975ed71607870e52cf03cce4ee54007c321cffa51510f9248806eabc2",
3261
- "signature": "3157c0d28333b08cc1203514a813b593cc918eea880cfc3ebe7cf93f3fa9b41c",
3260
+ "version": "5948d085bbd64578ede5182bfba1172a57a14f02fcb9e50d792292732de4ee23",
3261
+ "signature": "5f778efd00c5b0f275dfa4efb7bd948e07168cc0231065d718b7ee770edeae7a",
3262
3262
  "affectsGlobalScope": false
3263
3263
  },
3264
3264
  "../src/db/aggregate/createAggregateResponse.ts": {
3265
- "version": "cdc6050ff195272238176833a84e0ce21ddf082f2ce68e031475e1c5f95177ce",
3266
- "signature": "5b389eb9ba01d617272ea8690de1cff9e88dbc1b0230c44a6d19137e81c51de5",
3265
+ "version": "b5fe7864b6603d216ae2b1bbb55ac54525374f657c29ea0ffcaab31edcf557a9",
3266
+ "signature": "a1b65c90841b5f22f9f922c61fafd17b5319becd9af1dad7fab7b5bfcc6f877e",
3267
3267
  "affectsGlobalScope": false
3268
3268
  },
3269
3269
  "../src/types/user-role.enum.ts": {
@@ -10606,6 +10606,9 @@
10606
10606
  "../node_modules/mongoose/index.d.ts",
10607
10607
  "../src/db/mongoose-find-options.ts"
10608
10608
  ],
10609
+ "../src/db/aggregate/createAggregateResponse.ts": [
10610
+ "../src/db/mongoose-find-options.ts"
10611
+ ],
10609
10612
  "../src/db/mongoose-find-options.ts": [
10610
10613
  "../node_modules/@nestjs/swagger/index.d.ts",
10611
10614
  "../node_modules/class-validator/types/index.d.ts"
@@ -15385,6 +15388,9 @@
15385
15388
  "../node_modules/mongoose/index.d.ts",
15386
15389
  "../src/db/mongoose-find-options.ts"
15387
15390
  ],
15391
+ "../src/db/aggregate/createAggregateResponse.ts": [
15392
+ "../src/db/mongoose-find-options.ts"
15393
+ ],
15388
15394
  "../src/events/attendee-contact.interface.ts": [
15389
15395
  "../src/events/subjects.ts"
15390
15396
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aldb2b/common",
3
- "version": "1.0.46",
3
+ "version": "1.0.47",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",