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.
- package/build/api/MongoAPIManager.d.ts +2 -4
- package/build/api/MongoAPIManager.js +46 -23
- package/build/api/MongoAPIManager.js.map +1 -1
- package/build/cache/DataManager.js +2 -0
- package/build/cache/DataManager.js.map +1 -1
- package/build/cache/dataObject/impl/ArrayDataObject.js +1 -1
- package/build/cache/dataObject/impl/ArrayDataObject.js.map +1 -1
- package/build/requests/apiRequests/impl/AggregationApiRequest.js +1 -1
- package/build/utils/HashGenerator.js +6 -2
- package/build/utils/HashGenerator.js.map +1 -1
- package/package.json +4 -4
- package/src/api/MongoAPIManager.ts +54 -48
- package/src/cache/DataManager.ts +2 -0
- package/src/requests/apiRequests/impl/AggregationApiRequest.ts +1 -1
- package/tsconfig.json +1 -0
|
@@ -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<
|
|
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
|
-
|
|
28
|
-
|
|
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
|
-
|
|
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({
|
|
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({
|
|
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({
|
|
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":";;;;;;;;;;;;AACA,oEAA+D;AAC/D,wEAAmE;AACnE,gEAA2D;AAG3D,sDAAmD;AAEnD,2DAAwD;AACxD,8DAA2D;AAC3D,qEAAkE;AAElE,MAAa,eAAe;
|
|
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":";;;;;;;;;;;;AACA,6DAA0D;AAC1D,mCAAuC;AAGvC,MAAa,eAAgB,SAAQ,uCAAkB;IAQnD,YAAY,UAAiB,EAAE,SAAe,EAAE,iBAAyB,CAAC;QACtE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QAClE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEM,QAAQ,CAAC,QAA0B;QACtC,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAElE,OAAO;YACH,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,UAAU;SACzB,CAAA;IACL,CAAC;IAEY,aAAa,CAAC,QAA0B;;YACjD,MAAM,KAAK,GAAW,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACpD,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;aACxC;YAED,IAAI,UAAU,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACtB,UAAU,EAAE,UAAU;aACzB,CAAA;QACL,CAAC;KAAA;IAEa,iBAAiB,CAAC,KAAa,EAAE,IAAa;;YACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;oBACrC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;wBAC1B,sBAAa,
|
|
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 =
|
|
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.
|
|
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":"
|
|
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.
|
|
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.
|
|
32
|
+
"mongodb": "^4.4.0"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"mongodb": "^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": "^
|
|
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<
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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
|
-
|
|
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
|
}
|
package/src/cache/DataManager.ts
CHANGED
|
@@ -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 =
|
|
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. */
|