flexmonster-mongo-connector 2.9.36 → 2.9.38

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.
@@ -1,6 +1,5 @@
1
1
  import { Db } from 'mongodb';
2
2
  import { IDataAPI, CollectionName, PagingInterface } from './IDataAPI';
3
- import { APISchema } from '../schema/APISchema';
4
3
  import { ConfigInterface } from '../config/ConfigInterface';
5
4
  export declare class MongoAPIManager implements IDataAPI {
6
5
  private _mongoQueryManager;
@@ -11,10 +10,9 @@ export declare class MongoAPIManager implements IDataAPI {
11
10
  private _configManager;
12
11
  private _apiVersion;
13
12
  constructor(config: ConfigInterface, apiVersion: string);
14
- getSchema(dbo: Db, index: string): Promise<APISchema>;
13
+ getSchema(dbo: Db, index: string): Promise<object>;
15
14
  getMembers(dbo: Db, index: CollectionName, fieldObject: any, pagingObject: PagingInterface): Promise<any>;
16
15
  getSelectResult(dbo: Db, index: CollectionName, query: any, pagingObject: PagingInterface): Promise<any>;
16
+ private _getSchema;
17
17
  private initializeComponents;
18
- private getIndexSchema;
19
- private setIndexSchema;
20
18
  }
@@ -24,41 +24,70 @@ class MongoAPIManager {
24
24
  }
25
25
  getSchema(dbo, index) {
26
26
  return __awaiter(this, void 0, void 0, function* () {
27
- if (typeof index != 'string')
28
- throw new Error("Incorrect index format");
29
- this._mongoQueryManager.injectDBConnection(dbo);
30
- const dbName = dbo.databaseName;
31
- if (this.getIndexSchema(dbName, index) == null) {
32
- let document = yield this._mongoQueryManager.runShemaQuery(index);
33
- this.setIndexSchema(dbName, index, this._mongoResponseParser.parseShemaFromDocument(document));
34
- LoggingManager_1.LoggingManager.log(`Quering database ${dbName} to get schema of index ${index}`);
35
- }
36
- else {
37
- LoggingManager_1.LoggingManager.log(`Getting schema of index ${index} of database ${dbName} from cache`);
38
- }
39
- return this.getIndexSchema(dbName, index).toJSON();
27
+ const apiSchema = yield this._getSchema(dbo, index);
28
+ return apiSchema.toJSON();
40
29
  });
41
30
  }
42
31
  getMembers(dbo, index, fieldObject, pagingObject) {
43
32
  return __awaiter(this, void 0, void 0, function* () {
44
- return this._dataManager.getData({ index: index, fieldObject: fieldObject["field"], clientQuery: { "members": fieldObject }, db: dbo, schema: this.getIndexSchema(dbo.databaseName, index) }, RequestType_1.RequestType.MEMBERS_REQUEST, pagingObject);
33
+ const apiSchema = yield this._getSchema(dbo, index);
34
+ return this._dataManager.getData({
35
+ index: index,
36
+ fieldObject: fieldObject["field"],
37
+ clientQuery: { "members": fieldObject },
38
+ db: dbo,
39
+ schema: apiSchema
40
+ }, RequestType_1.RequestType.MEMBERS_REQUEST, pagingObject);
45
41
  });
46
42
  }
47
43
  getSelectResult(dbo, index, query, pagingObject) {
48
44
  return __awaiter(this, void 0, void 0, function* () {
49
45
  let response = null;
46
+ const apiSchema = yield this._getSchema(dbo, index);
50
47
  if (query["aggs"] != null && query["fields"] == null) {
51
- response = this._dataManager.getData({ index: index, clientQuery: query, db: dbo, schema: this.getIndexSchema(dbo.databaseName, index) }, RequestType_1.RequestType.AGGREGATION_REQUEST, pagingObject);
48
+ response = this._dataManager.getData({
49
+ index: index,
50
+ clientQuery: query,
51
+ db: dbo,
52
+ schema: apiSchema
53
+ }, RequestType_1.RequestType.AGGREGATION_REQUEST, pagingObject);
52
54
  }
53
55
  else if (query["aggs"] == null && query["fields"] != null) {
54
- response = this._dataManager.getData({ index: index, clientQuery: query, db: dbo, schema: this.getIndexSchema(dbo.databaseName, index) }, RequestType_1.RequestType.DRILLTHROUGH_REQUEST, pagingObject);
56
+ response = this._dataManager.getData({
57
+ index: index,
58
+ clientQuery: query,
59
+ db: dbo,
60
+ schema: apiSchema
61
+ }, RequestType_1.RequestType.DRILLTHROUGH_REQUEST, pagingObject);
55
62
  }
56
63
  else if (query["aggs"] != null && query["fields"] != null) {
57
- response = this._dataManager.getData({ index: index, clientQuery: query, db: dbo, schema: this.getIndexSchema(dbo.databaseName, index) }, RequestType_1.RequestType.FLAT_REQUEST, pagingObject);
64
+ response = this._dataManager.getData({
65
+ index: index,
66
+ clientQuery: query,
67
+ db: dbo,
68
+ schema: apiSchema
69
+ }, RequestType_1.RequestType.FLAT_REQUEST, pagingObject);
58
70
  }
59
71
  return response;
60
72
  });
61
73
  }
74
+ _getSchema(dbo, index) {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ if (typeof index != 'string')
77
+ throw new Error("Incorrect index format");
78
+ this._mongoQueryManager.injectDBConnection(dbo);
79
+ const dbName = dbo.databaseName;
80
+ if (this._schemaCache[`${dbName}_${index}`] == null) {
81
+ let document = yield this._mongoQueryManager.runShemaQuery(index);
82
+ this._schemaCache[`${dbName}_${index}`] = this._mongoResponseParser.parseShemaFromDocument(document);
83
+ LoggingManager_1.LoggingManager.log(`Quering database ${dbName} to get schema of index ${index}`);
84
+ }
85
+ else {
86
+ LoggingManager_1.LoggingManager.log(`Getting schema of index ${index} of database ${dbName} from cache`);
87
+ }
88
+ return this._schemaCache[`${dbName}_${index}`];
89
+ });
90
+ }
62
91
  initializeComponents(config) {
63
92
  this._configManager = ConfigManager_1.ConfigManager.getInstance(config);
64
93
  this._mongoQueryManager = new MongoQueryExecutor_1.MongoQueryExecutor();
@@ -70,12 +99,6 @@ class MongoAPIManager {
70
99
  LoggingManager_1.LoggingManager.log("Version:", this._apiVersion);
71
100
  LoggingManager_1.LoggingManager.log("Started with the following config", this._configManager);
72
101
  }
73
- getIndexSchema(dbName, index) {
74
- return this._schemaCache[`${dbName}_${index}`];
75
- }
76
- setIndexSchema(dbName, index, apiSchema) {
77
- this._schemaCache[`${dbName}_${index}`] = apiSchema;
78
- }
79
102
  }
80
103
  exports.MongoAPIManager = MongoAPIManager;
81
104
  //# sourceMappingURL=MongoAPIManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MongoAPIManager.js","sourceRoot":"","sources":["../../src/api/MongoAPIManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoAPIManager.js","sourceRoot":"","sources":["../../src/api/MongoAPIManager.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,8 @@ class DataManager {
36
36
  return __awaiter(this, void 0, void 0, function* () {
37
37
  if (currentPage.pageToken != null) {
38
38
  const registerItem = this._requestsRegister.deleteItem(currentPage.pageToken);
39
+ if (registerItem == undefined)
40
+ throw new Error("The data has been updated. Please refresh the page.");
39
41
  const retrievalResult = yield this.getDataChunk(registerItem.data, registerItem.iterator);
40
42
  let nextPageToken = null;
41
43
  if (!retrievalResult.isFinished) {
@@ -1 +1 @@
1
- {"version":3,"file":"DataManager.js","sourceRoot":"","sources":["../../src/cache/DataManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataManager.js","sourceRoot":"","sources":["../../src/cache/DataManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,0DAAuD;AAGvD,4DAAyD;AAEzD,oGAAiG;AACjG,sFAAmF;AAGnF,gEAA6D;AAC7D,2DAAwD;AAGxD,qEAAkE;AAClE,8DAA2D;AAE3D,oFAAgF;AAChF,uEAAoE;AACpE,mFAAgF;AAKhF,MAAa,WAAW;IASpB,YAAY,YAA0B,EAAE,aAAiC;QAJjE,qCAAgC,GAAY,IAAI,CAAC;QAKrD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,MAAM,aAAa,GAAoB,IAAI,CAAC,gCAAgC;YACxE,CAAC,CAAC,IAAI,yDAA2B,EAAE,CAAC,CAAC,CAAC,IAAI,2CAAoB,EAAE,CAAC;QACrE,MAAM,aAAa,GAAoB,6BAAa,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC;QACjF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,+BAAc,CAAC,aAAa,EAAE,6BAAa,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtI,IAAI,CAAC,iBAAiB,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAC5C,CAAC;IAEY,OAAO,CAAC,eAAiC,EAAE,WAAmB,EAAE,WAA4B;;YAErG,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,EAAE;gBAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC9E,IAAI,YAAY,IAAI,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBAEtG,MAAM,eAAe,GAAoB,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC3G,IAAI,aAAa,GAAW,IAAI,CAAC;gBAEjC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;oBAC7B,aAAa,GAAG,IAAI,uBAAU,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC3F,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;iBAC9D;gBAED,OAAO,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;aAC9E;YAED,MAAM,UAAU,GAAgB,gCAAc,CAAC,qBAAqB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;YACnG,MAAM,YAAY,GAAuB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAkB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAoB,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACzF,IAAI,aAAa,GAAW,IAAI,CAAC;YAEjC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;gBAC7B,aAAa,GAAG,IAAI,uBAAU,CAAC,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9E,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAa,EAAE;oBAC1C,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,QAAQ;oBAClB,UAAU,EAAE,UAAU;iBACzB,CAAC,CAAC;aACN;YAED,OAAO,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAClE,CAAC;KAAA;IAEa,QAAQ,CAAC,UAAuB;;YAC1C,MAAM,QAAQ,GAAsB;gBAChC,YAAY,EAAE,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY;gBACxD,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,KAAK;gBACvC,WAAW,EAAE,UAAU,CAAC,eAAe,CAAC,WAAW;aACtD,CAAC;YACF,IAAI,IAAI,GAAuB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC/D,+BAAc,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAE9F,IAAI,IAAI,KAAK,SAAS,EAAE;gBACpB,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAsB,IAAI,CAAC,CAAC;gBAExD,IAAI,6BAAa,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE;oBACxD,+BAAc,CAAC,GAAG,CAAC,WAAW,UAAU,CAAC,eAAe,gBAAgB,CAAC,CAAC;oBAC1E,+BAAc,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;iBACnD;aACJ;iBAAM;gBACH,+BAAc,CAAC,GAAG,CAAC,WAAW,UAAU,CAAC,eAAe,kBAAkB,CAAC,CAAC;aAC/E;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEO,gBAAgB,CAAC,SAA4B;QACjD,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAClD,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAEO,cAAc,CAAC,SAA4B,EAAE,IAAwB;QACzE,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAEO,oBAAoB;QACxB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI;YAAE,OAAO,iCAAe,CAAC,sBAAsB,CAAC;QAC/E,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;IACrD,CAAC;IAEO,WAAW,CAAC,YAAgC;QAChD,IAAI,YAAY,YAAY,iCAAe,EAAE;YACzC,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,6CAAqB,EAAE,CAAC;SACnG;QACD,OAAO,YAAY,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC;IAEa,YAAY,CAAC,YAAoC,EAAE,QAAuB;;YACpF,IAAI,YAAY,YAAY,iCAAe,EAAE;gBACzC,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC5G;YACD,OAAO,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;KAAA;CAMJ;AA/GD,kCA+GC"}
@@ -47,7 +47,7 @@ class ArrayDataObject extends AbstractDataObject_1.AbstractDataObject {
47
47
  return new Promise((resolve, reject) => {
48
48
  const intervalTimeout = setInterval(() => {
49
49
  if (index < this.data.length) {
50
- timers_1.clearInterval(intervalTimeout);
50
+ (0, timers_1.clearInterval)(intervalTimeout);
51
51
  resolve({
52
52
  data: this.data[index],
53
53
  isFinished: (index + 1 === this.data.length && this.isCompleted)
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayDataObject.js","sourceRoot":"","sources":["../../../../src/cache/dataObject/impl/ArrayDataObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArrayDataObject.js","sourceRoot":"","sources":["../../../../src/cache/dataObject/impl/ArrayDataObject.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ const LoggingManager_1 = require("../../../logging/LoggingManager");
16
16
  class AggregationApiRequest extends AbstractApiRequest_1.AbstractApiRequest {
17
17
  constructor(requestArgument) {
18
18
  super(requestArgument);
19
- this.GROUPING_LIMITATION = 175000;
19
+ this.GROUPING_LIMITATION = 100000;
20
20
  this._isPaginationEnabled = false;
21
21
  this._templateQuery = null;
22
22
  this._isFinished = false;
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -14,7 +18,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
14
18
  var __importStar = (this && this.__importStar) || function (mod) {
15
19
  if (mod && mod.__esModule) return mod;
16
20
  var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
22
  __setModuleDefault(result, mod);
19
23
  return result;
20
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"HashGenerator.js","sourceRoot":"","sources":["../../src/utils/HashGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,MAAa,aAAa;IAEf,MAAM,CAAC,oBAAoB,CAAC,KAAa;QAC5C,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,MAAW;QAC1C,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC;CACJ;AATD,sCASC"}
1
+ {"version":3,"file":"HashGenerator.js","sourceRoot":"","sources":["../../src/utils/HashGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,MAAa,aAAa;IAEf,MAAM,CAAC,oBAAoB,CAAC,KAAa;QAC5C,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,MAAW;QAC1C,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC;CACJ;AATD,sCASC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flexmonster-mongo-connector",
3
- "version": "2.9.36",
3
+ "version": "2.9.38",
4
4
  "description": "Custom data source API implementation for MongoDB",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -29,14 +29,14 @@
29
29
  ],
30
30
  "license": "MIT",
31
31
  "peerDependencies": {
32
- "mongodb": "^4.1.4"
32
+ "mongodb": "^4.4.0"
33
33
  },
34
34
  "dependencies": {
35
- "mongodb": "^4.1.4"
35
+ "mongodb": "^4.4.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "^12.12.6",
39
39
  "ts-node": "^8.4.1",
40
- "typescript": "^3.7.2"
40
+ "typescript": "^4.5.5"
41
41
  }
42
42
  }
@@ -16,7 +16,6 @@ export class MongoAPIManager implements IDataAPI{
16
16
  private _mongoResponseParser: MongoResponseParser;
17
17
  private _dataManager: DataManager;
18
18
  private _queryBuilder: QueryBuilder;
19
- //private _dataLoader: RequestHandler;
20
19
  private _schemaCache: {[index: string]: APISchema};
21
20
  private _configManager: ConfigManager;
22
21
  private _apiVersion: string
@@ -25,13 +24,6 @@ export class MongoAPIManager implements IDataAPI{
25
24
 
26
25
  this._apiVersion = apiVersion;
27
26
  this.initializeComponents(config);
28
- // this._mongoQueryManager = new MongoQueryExecutor();
29
- // this._mongoResponseParser = MongoResponseParser.getInstance();
30
- // //this._cacheManager = LocalDataCache.getInstance();
31
- // this._queryBuilder = QueryBuilder.getInstance();
32
- // this._dataManager = new DataManager(this._queryBuilder, this._mongoQueryManager);
33
- // this._dataLoader = new RequestHandler(this._queryBuilder, this._mongoQueryManager, this._dataManager);
34
- // this._schemaCache = {};
35
27
  }
36
28
 
37
29
  /**
@@ -40,19 +32,9 @@ export class MongoAPIManager implements IDataAPI{
40
32
  * @param {string} index MongoDB's collection name
41
33
  * @return {object} returns schema object
42
34
  */
43
- public async getSchema(dbo: Db, index: string): Promise<APISchema> {
44
- if (typeof index != 'string') throw new Error("Incorrect index format");
45
- this._mongoQueryManager.injectDBConnection(dbo);
46
- const dbName: string = dbo.databaseName;
47
- if (this.getIndexSchema(dbName, index) == null) {
48
- //console.log(">>>>>>", index, dbo);
49
- let document: any = await this._mongoQueryManager.runShemaQuery(index);
50
- this.setIndexSchema(dbName, index ,this._mongoResponseParser.parseShemaFromDocument(document));
51
- LoggingManager.log(`Quering database ${dbName} to get schema of index ${index}`);
52
- } else {
53
- LoggingManager.log(`Getting schema of index ${index} of database ${dbName} from cache`);
54
- }
55
- return this.getIndexSchema(dbName, index).toJSON();
35
+ public async getSchema(dbo: Db, index: string): Promise<object> {
36
+ const apiSchema = await this._getSchema(dbo, index);
37
+ return apiSchema.toJSON();
56
38
  }
57
39
 
58
40
  /**
@@ -64,10 +46,14 @@ export class MongoAPIManager implements IDataAPI{
64
46
  * @return {object}
65
47
  */
66
48
  public async getMembers(dbo: Db, index: CollectionName, fieldObject: any, pagingObject: PagingInterface): Promise<any> {
67
- // let apiRequest: IApiRequest = /*(pagingObject.pageToken != null && this._dataLoader.isRequestRegistered(pagingObject.pageToken))
68
- // ? this._dataLoader.getRegisteredRequest(pagingObject.pageToken)
69
- // :*/ new MembersApiRequest({index: index, fieldObject: fieldObject, clientQuery: {"members": fieldObject}, db: dbo}, this.getIndexSchema(dbo.databaseName, index))
70
- return this._dataManager.getData({index: index, fieldObject: fieldObject["field"], clientQuery: {"members": fieldObject}, db: dbo, schema: this.getIndexSchema(dbo.databaseName, index)},
49
+ const apiSchema = await this._getSchema(dbo, index);
50
+ return this._dataManager.getData({
51
+ index: index,
52
+ fieldObject: fieldObject["field"],
53
+ clientQuery: {"members": fieldObject},
54
+ db: dbo,
55
+ schema: apiSchema
56
+ },
71
57
  RequestType.MEMBERS_REQUEST, pagingObject);
72
58
  }
73
59
 
@@ -79,57 +65,77 @@ export class MongoAPIManager implements IDataAPI{
79
65
  * @param {number} page
80
66
  * @return {object}
81
67
  */
82
- public async getSelectResult(dbo: Db, index: CollectionName, query: any, pagingObject: PagingInterface) {
68
+ public async getSelectResult(dbo: Db, index: CollectionName, query: any, pagingObject: PagingInterface): Promise<any> {
83
69
 
84
70
  let response = null;
71
+ const apiSchema = await this._getSchema(dbo, index);
85
72
 
86
73
  if (query["aggs"] != null && query["fields"] == null) {
87
-
88
- // let apiRequest: IApiRequest = /* (pagingObject.pageToken != null && this._dataLoader.isRequestRegistered(pagingObject.pageToken))
89
- // ? this._dataLoader.getRegisteredRequest(pagingObject.pageToken)
90
- // :*/ new AggregationApiRequest({index: index, clientQuery: query, db: dbo}, this.getIndexSchema(dbo.databaseName, index));
91
- response = this._dataManager.getData({index: index, clientQuery: query, db: dbo, schema: this.getIndexSchema(dbo.databaseName, index)},
74
+
75
+ response = this._dataManager.getData({
76
+ index: index,
77
+ clientQuery: query,
78
+ db: dbo,
79
+ schema: apiSchema
80
+ },
92
81
  RequestType.AGGREGATION_REQUEST, pagingObject);
93
82
 
94
83
  } else if (query["aggs"] == null && query["fields"] != null) {//drill-through
95
84
 
96
- // let apiRequest: IApiRequest = /* (pagingObject.pageToken != null && this._dataLoader.isRequestRegistered(pagingObject.pageToken))
97
- // ? this._dataLoader.getRegisteredRequest(pagingObject.pageToken)
98
- // :*/ new DrillThroughApiRequest({index: index, clientQuery: query, db: dbo}, this.getIndexSchema(dbo.databaseName, index))
99
- response = this._dataManager.getData({index: index, clientQuery: query, db: dbo, schema: this.getIndexSchema(dbo.databaseName, index)},
85
+ response = this._dataManager.getData({
86
+ index: index,
87
+ clientQuery: query,
88
+ db: dbo,
89
+ schema: apiSchema
90
+ },
100
91
  RequestType.DRILLTHROUGH_REQUEST, pagingObject);
101
92
  } else if (query["aggs"] != null && query["fields"] != null) {// flat-form
102
93
 
103
- // let apiRequest: IApiRequest = /*(pagingObject.pageToken != null && this._dataLoader.isRequestRegistered(pagingObject.pageToken))
104
- // ? this._dataLoader.getRegisteredRequest(pagingObject.pageToken)
105
- // :*/ new FlatApiRequest({index: index, clientQuery: query, db: dbo}, this.getIndexSchema(dbo.databaseName, index))
106
- response = this._dataManager.getData({index: index, clientQuery: query, db: dbo, schema: this.getIndexSchema(dbo.databaseName, index)},
94
+ response = this._dataManager.getData({
95
+ index: index,
96
+ clientQuery: query,
97
+ db: dbo,
98
+ schema: apiSchema
99
+ },
107
100
  RequestType.FLAT_REQUEST, pagingObject);
108
101
  }
109
102
 
110
103
  return response;
111
104
  }
112
105
 
106
+ /**
107
+ * Returns the schema
108
+ * @method
109
+ * @param {string} index MongoDB's collection name
110
+ * @return {APISchema} returns APISchema object
111
+ */
112
+ private async _getSchema(dbo: Db, index: string): Promise<APISchema> {
113
+ if (typeof index != 'string') throw new Error("Incorrect index format");
114
+ this._mongoQueryManager.injectDBConnection(dbo);
115
+ const dbName: string = dbo.databaseName;
116
+ if (this._schemaCache[`${dbName}_${index}`] == null) {
117
+ //console.log(">>>>>>", index, dbo);
118
+ let document: any = await this._mongoQueryManager.runShemaQuery(index);
119
+ this._schemaCache[`${dbName}_${index}`] = this._mongoResponseParser.parseShemaFromDocument(document);
120
+ LoggingManager.log(`Quering database ${dbName} to get schema of index ${index}`);
121
+ } else {
122
+ LoggingManager.log(`Getting schema of index ${index} of database ${dbName} from cache`);
123
+ }
124
+ return this._schemaCache[`${dbName}_${index}`];
125
+ }
126
+
113
127
  private initializeComponents(config: ConfigInterface): void {
114
128
  this._configManager = ConfigManager.getInstance(config);
115
129
  this._mongoQueryManager = new MongoQueryExecutor();
116
130
  this._mongoResponseParser = MongoResponseParser.getInstance();
117
131
  new LoggingManager(this._configManager.currentConfig.logsEnabled);
118
132
 
119
- //this._cacheManager = LocalDataCache.getInstance();
120
133
  this._queryBuilder = QueryBuilder.getInstance();
121
134
  this._dataManager = new DataManager(this._queryBuilder, this._mongoQueryManager);
122
- //this._dataLoader = new RequestHandler(this._queryBuilder, this._mongoQueryManager, this._dataManager);
135
+
123
136
  this._schemaCache = {};
124
137
  LoggingManager.log("Version:", this._apiVersion);
125
138
  LoggingManager.log("Started with the following config", this._configManager);
126
139
  }
127
140
 
128
- private getIndexSchema(dbName: string, index: string): APISchema {
129
- return this._schemaCache[`${dbName}_${index}`];
130
- }
131
-
132
- private setIndexSchema(dbName: string, index: string, apiSchema: APISchema): void {
133
- this._schemaCache[`${dbName}_${index}`] = apiSchema;
134
- }
135
141
  }
@@ -46,6 +46,8 @@ export class DataManager {
46
46
 
47
47
  if (currentPage.pageToken != null) {
48
48
  const registerItem = this._requestsRegister.deleteItem(currentPage.pageToken);
49
+ if (registerItem == undefined) throw new Error("The data has been updated. Please refresh the page.");
50
+
49
51
  const retrievalResult: RetrievalResult = await this.getDataChunk(registerItem.data, registerItem.iterator); //registerItem.data.getChunk(registerItem.iterator);
50
52
  let nextPageToken: string = null;
51
53
 
@@ -10,7 +10,7 @@ import { ArrayDataObject } from "../../../cache/dataObject/impl/ArrayDataObject"
10
10
 
11
11
  export class AggregationApiRequest extends AbstractApiRequest {
12
12
 
13
- private readonly GROUPING_LIMITATION: number = 175000; //the limit for MongoDB 1 time response, to avoid 64 MB document limitation
13
+ private readonly GROUPING_LIMITATION: number = 100000; //the limit for MongoDB 1 time response, to avoid 16 MB document limitation
14
14
  private _isPaginationEnabled: boolean = false;
15
15
  private _templateQuery: IQuery = null;
16
16
  private _isFinished: boolean = false;
package/tsconfig.json CHANGED
@@ -26,6 +26,7 @@
26
26
  "strict": true, /* Enable all strict type-checking options. */
27
27
  "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
28
28
  "strictNullChecks": false, /* Enable strict null checks. */
29
+ //"skipLibCheck": true,
29
30
  // "strictFunctionTypes": true, /* Enable strict checking of function types. */
30
31
  // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
31
32
  // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */