flexmonster-mongo-connector 2.9.19 → 2.9.22

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": "flexmonster-mongo-connector",
3
- "version": "2.9.19",
3
+ "version": "2.9.22",
4
4
  "description": "Custom data source API implementation for MongoDB",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -1,17 +0,0 @@
1
- import { QueryBuilder } from "../query/builder/QueryBuilder";
2
- import { MongoQueryExecutor } from "../query/MongoQueryExecutor";
3
- import { PagingInterface } from "../api/IDataAPI";
4
- import { MongoResponseParser } from "../parsers/MongoResponseParser";
5
- import { IApiRequest } from "../requests/apiRequests/IApiRequest";
6
- import { Db } from "mongodb";
7
- import { APISchema } from "../schema/APISchema";
8
- export declare class RequestHandler {
9
- private _queryBuilder;
10
- private _queryExecutor;
11
- private _requestsRegister;
12
- constructor(queryBuilder: QueryBuilder, queryExecutor: MongoQueryExecutor, responseParser: MongoResponseParser);
13
- loadData(dbo: Db, schema: APISchema, apiRequest: IApiRequest, currentPage: PagingInterface): Promise<any>;
14
- private getDataLength;
15
- isRequestRegistered(key: string): boolean;
16
- getRegisteredRequest(key: string): IApiRequest;
17
- }
@@ -1,64 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const RequestsRegister_1 = require("../requests/register/RequestsRegister");
13
- const RequestKey_1 = require("../requests/register/RequestKey");
14
- class RequestHandler {
15
- constructor(queryBuilder, queryExecutor, responseParser) {
16
- this._queryBuilder = queryBuilder;
17
- this._queryExecutor = queryExecutor;
18
- this._requestsRegister = RequestsRegister_1.RequestsRegister.getInstance();
19
- }
20
- loadData(dbo, schema, apiRequest, currentPage) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- this._queryExecutor.injectDBConnection(dbo);
23
- const data = yield apiRequest.getData(schema, this._queryBuilder, this._queryExecutor);
24
- let nextPageToken = null;
25
- if (this.getDataLength(data) >= 0 && !apiRequest.isFinished()) {
26
- if (this.getDataLength(data) == 0)
27
- apiRequest.moveNext();
28
- if (currentPage.pageToken != null && this._requestsRegister.hasItem(currentPage.pageToken)) {
29
- this._requestsRegister.deleteItem(currentPage.pageToken);
30
- }
31
- if (!apiRequest.isFinished()) {
32
- const requestKey = new RequestKey_1.RequestKey(apiRequest.requestArgument.query);
33
- this._requestsRegister.addItem(requestKey.hash(), apiRequest);
34
- nextPageToken = requestKey.hash();
35
- }
36
- }
37
- else if (apiRequest.isFinished()) {
38
- this._requestsRegister.deleteItem(currentPage.pageToken);
39
- }
40
- return apiRequest.toJSON(data, nextPageToken);
41
- });
42
- }
43
- getDataLength(data) {
44
- let length = 0;
45
- if (data.length != null) {
46
- length = data.length;
47
- }
48
- else if (data["aggs"] != null) {
49
- length = data["aggs"].length;
50
- }
51
- else if (data["hits"] != null) {
52
- length = data["hits"].length;
53
- }
54
- return length;
55
- }
56
- isRequestRegistered(key) {
57
- return this._requestsRegister.hasItem(key);
58
- }
59
- getRegisteredRequest(key) {
60
- return this._requestsRegister.getItem(key);
61
- }
62
- }
63
- exports.RequestHandler = RequestHandler;
64
- //# sourceMappingURL=RequestHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RequestHandler.js","sourceRoot":"","sources":["../../src/handler/RequestHandler.ts"],"names":[],"mappings":";;;;;;;;;;;AAKA,4EAAuE;AACvE,gEAA0D;AAI1D,MAAa,cAAc;IAMvB,YAAY,YAA0B,EAAE,aAAiC,EAAE,cAAmC;QAC1G,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,mCAAgB,CAAC,WAAW,EAAE,CAAC;IAC5D,CAAC;IAEY,QAAQ,CAAC,GAAO,EAAE,MAAiB,EAAE,UAAuB,EAAE,WAA4B;;YACnG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAE5C,MAAM,IAAI,GAAQ,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAE5F,IAAI,aAAa,GAAW,IAAI,CAAC;YACjC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE;gBAC3D,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACzD,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;oBACxF,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;iBAC5D;gBACD,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE;oBAC1B,MAAM,UAAU,GAAe,IAAI,uBAAU,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;oBAChF,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;oBAC9D,aAAa,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;iBACrC;aACJ;iBAAM,IAAI,UAAU,CAAC,UAAU,EAAE,EAAE;gBAChC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAC5D;YAED,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC;KAAA;IAEO,aAAa,CAAC,IAAS;QAC3B,IAAI,MAAM,GAAW,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACrB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SACxB;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;YAC7B,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;YAC7B,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;SAChC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,mBAAmB,CAAC,GAAW;QAClC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IAEM,oBAAoB,CAAC,GAAW;QACnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;CACJ;AAtDD,wCAsDC"}
@@ -1,18 +0,0 @@
1
- import { IRegister } from './IRegister';
2
- import { IApiRequest } from '../apiRequests/IApiRequest';
3
- export declare class RequestsRegister implements IRegister<string, IApiRequest> {
4
- private static _requestRegisterInstance;
5
- private _storage;
6
- private _capacity;
7
- private readonly _delay;
8
- private readonly _startingCapacity;
9
- constructor();
10
- static getInstance(): RequestsRegister;
11
- addItem(key: string, item: IApiRequest): void;
12
- hasItem(key: string): boolean;
13
- getItem(key: string): IApiRequest;
14
- deleteItem(key: string): IApiRequest;
15
- isEmpty(): boolean;
16
- private clearOutdated;
17
- private changeCapacity;
18
- }
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class RequestsRegister {
4
- constructor() {
5
- this._storage = null;
6
- this._capacity = 0;
7
- this._delay = 5 * 60 * 60 * 1000;
8
- this._startingCapacity = 500;
9
- if (RequestsRegister._requestRegisterInstance != null)
10
- throw new Error("Instantiation failed: " +
11
- "use Singleton.getInstance() instead of new.");
12
- this._storage = new Map();
13
- this._capacity = this._startingCapacity;
14
- }
15
- static getInstance() {
16
- if (RequestsRegister._requestRegisterInstance == null) {
17
- RequestsRegister._requestRegisterInstance = new RequestsRegister();
18
- }
19
- return RequestsRegister._requestRegisterInstance;
20
- }
21
- addItem(key, item) {
22
- if (item == null || key == null)
23
- throw new Error("Illegal argument exception");
24
- this._storage.set(key, { element: item, lastProcessed: new Date().getTime() });
25
- if (this._storage.size == this._capacity) {
26
- this.clearOutdated();
27
- this.changeCapacity(this._capacity * 2);
28
- }
29
- }
30
- hasItem(key) {
31
- if (key == null)
32
- throw new Error("Illegal argument exception");
33
- return this._storage.has(key);
34
- }
35
- getItem(key) {
36
- if (key == null)
37
- throw new Error("Illegal argument exception");
38
- return this._storage.get(key).element;
39
- }
40
- deleteItem(key) {
41
- if (key == null)
42
- throw new Error("Illegal argument exception");
43
- let apiRequest = null;
44
- if (this._storage.has(key)) {
45
- apiRequest = this._storage.get(key).element;
46
- this._storage.delete(key);
47
- }
48
- if (this._storage.size < this._capacity / 4) {
49
- this.clearOutdated();
50
- const newCapacity = (this._capacity / 4 < this._startingCapacity) ? this._startingCapacity : this._capacity / 4;
51
- this.changeCapacity(newCapacity);
52
- }
53
- return apiRequest;
54
- }
55
- isEmpty() {
56
- return this._storage.size == 0;
57
- }
58
- clearOutdated() {
59
- const keysForDelete = [];
60
- const currentTime = new Date().getTime();
61
- this._storage.forEach((value, key, map) => {
62
- if (currentTime - value.lastProcessed > this._delay) {
63
- keysForDelete.push(key);
64
- }
65
- });
66
- keysForDelete.forEach((value) => {
67
- this._storage.delete(value);
68
- });
69
- }
70
- changeCapacity(value) {
71
- this._capacity = value;
72
- }
73
- }
74
- exports.RequestsRegister = RequestsRegister;
75
- RequestsRegister._requestRegisterInstance = null;
76
- //# sourceMappingURL=RequestsRegister.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RequestsRegister.js","sourceRoot":"","sources":["../../../src/requests/register/RequestsRegister.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- export declare class MongoQueries {
2
- static REGEXP: string;
3
- static EQUAL: string;
4
- static NOT: string;
5
- static GREATER: string;
6
- static GREATER_EQUAL: string;
7
- static LESS: string;
8
- static LESS_EQUAL: string;
9
- static INCLUDE: string;
10
- static EXCLUDE: string;
11
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class MongoQueries {
4
- }
5
- exports.MongoQueries = MongoQueries;
6
- MongoQueries.REGEXP = "$regex";
7
- MongoQueries.EQUAL = "$eq";
8
- MongoQueries.NOT = "$not";
9
- MongoQueries.GREATER = "$gt";
10
- MongoQueries.GREATER_EQUAL = "$gte";
11
- MongoQueries.LESS = "$lt";
12
- MongoQueries.LESS_EQUAL = "$lte";
13
- MongoQueries.INCLUDE = "$in";
14
- MongoQueries.EXCLUDE = "$nin";
15
- //# sourceMappingURL=MongoQueries.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MongoQueries.js","sourceRoot":"","sources":["../../../src/utils/consts/MongoQueries.ts"],"names":[],"mappings":";;AAAA,MAAa,YAAY;;AAAzB,oCAWC;AATiB,mBAAM,GAAW,QAAQ,CAAC;AAC1B,kBAAK,GAAW,KAAK,CAAC;AACtB,gBAAG,GAAW,MAAM,CAAC;AACrB,oBAAO,GAAW,KAAK,CAAC;AACxB,0BAAa,GAAW,MAAM,CAAC;AAC/B,iBAAI,GAAW,KAAK,CAAC;AACrB,uBAAU,GAAW,MAAM,CAAC;AAC5B,oBAAO,GAAW,KAAK,CAAC;AACxB,oBAAO,GAAW,MAAM,CAAC"}