@restorecommerce/chassis-srv 0.3.2 → 0.3.6

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.
Files changed (47) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/lib/cache/index.js +22 -3
  3. package/lib/cache/index.js.map +1 -1
  4. package/lib/command-interface/index.js +481 -493
  5. package/lib/command-interface/index.js.map +1 -1
  6. package/lib/config/index.js +6 -15
  7. package/lib/config/index.js.map +1 -1
  8. package/lib/database/index.d.ts +2 -4
  9. package/lib/database/index.js +4 -13
  10. package/lib/database/index.js.map +1 -1
  11. package/lib/database/provider/arango/base.js +314 -322
  12. package/lib/database/provider/arango/base.js.map +1 -1
  13. package/lib/database/provider/arango/common.js +70 -57
  14. package/lib/database/provider/arango/common.js.map +1 -1
  15. package/lib/database/provider/arango/graph.d.ts +4 -8
  16. package/lib/database/provider/arango/graph.js +335 -466
  17. package/lib/database/provider/arango/graph.js.map +1 -1
  18. package/lib/database/provider/arango/index.js +34 -21
  19. package/lib/database/provider/arango/index.js.map +1 -1
  20. package/lib/database/provider/arango/interface.d.ts +70 -0
  21. package/lib/database/provider/arango/interface.js +46 -0
  22. package/lib/database/provider/arango/interface.js.map +1 -0
  23. package/lib/database/provider/arango/utils.d.ts +77 -0
  24. package/lib/database/provider/arango/utils.js +587 -0
  25. package/lib/database/provider/arango/utils.js.map +1 -0
  26. package/lib/database/provider/nedb/index.js +203 -206
  27. package/lib/database/provider/nedb/index.js.map +1 -1
  28. package/lib/health/index.js +36 -42
  29. package/lib/health/index.js.map +1 -1
  30. package/lib/index.d.ts +4 -0
  31. package/lib/index.js +27 -6
  32. package/lib/index.js.map +1 -1
  33. package/lib/microservice/endpoint.js +33 -23
  34. package/lib/microservice/endpoint.js.map +1 -1
  35. package/lib/microservice/server.js +115 -106
  36. package/lib/microservice/server.js.map +1 -1
  37. package/lib/microservice/transport/provider/grpc/index.js +58 -52
  38. package/lib/microservice/transport/provider/grpc/index.js.map +1 -1
  39. package/lib/microservice/transport/provider/grpc/reflection.js +101 -93
  40. package/lib/microservice/transport/provider/grpc/reflection.js.map +1 -1
  41. package/lib/offsets/index.d.ts +1 -1
  42. package/lib/offsets/index.js +46 -39
  43. package/lib/offsets/index.js.map +1 -1
  44. package/package.json +27 -27
  45. package/test.js +56 -0
  46. package/tsconfig.json +13 -6
  47. package/setupTopics.js +0 -32
@@ -1,17 +1,30 @@
1
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
- });
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
23
  };
11
24
  Object.defineProperty(exports, "__esModule", { value: true });
12
25
  exports.OffsetStore = void 0;
13
- const _ = require("lodash");
14
- const Redis = require("ioredis");
26
+ const _ = __importStar(require("lodash"));
27
+ const ioredis_1 = __importDefault(require("ioredis"));
15
28
  /**
16
29
  * Stores the offsets of the provided topics to redis periodically
17
30
  */
@@ -37,7 +50,7 @@ class OffsetStore {
37
50
  if (_.has(redisConfig, 'db-indexes.db-offsetStore')) {
38
51
  redisConfig.db = _.get(redisConfig, 'db-indexes.db-offsetStore');
39
52
  }
40
- this.redisClient = new Redis(redisConfig);
53
+ this.redisClient = new ioredis_1.default(redisConfig);
41
54
  }
42
55
  this.topics = {};
43
56
  this.timerID = [];
@@ -67,33 +80,29 @@ class OffsetStore {
67
80
  * @param {object} redisClient
68
81
  * @return {object}
69
82
  */
70
- storeOffset(topic, topicName) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- // get the latest offset here each time and store it.
73
- const offsetValue = yield topic.$offset(-1);
74
- const redisKey = this.config.get('events:kafka:clientId') + ':' + topicName;
75
- this.redisClient.set(redisKey, offsetValue);
76
- });
83
+ async storeOffset(topic, topicName) {
84
+ // get the latest offset here each time and store it.
85
+ const offsetValue = await topic.$offset(-1);
86
+ const redisKey = this.config.get('events:kafka:clientId') + ':' + topicName;
87
+ this.redisClient.set(redisKey, offsetValue);
77
88
  }
78
89
  /**
79
90
  * get the offset value for the topic from redis
80
91
  * @param {string} topic Topic name
81
92
  * @return {object}
82
93
  */
83
- getOffset(topicName) {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- const redisKey = this.config.get('events:kafka:clientId') + ':' + topicName;
86
- const offsetValue = yield new Promise((resolve, reject) => {
87
- this.redisClient.get(redisKey, (err, response) => {
88
- if (err) {
89
- reject(err);
90
- }
91
- resolve(response);
92
- });
94
+ async getOffset(topicName) {
95
+ const redisKey = this.config.get('events:kafka:clientId') + ':' + topicName;
96
+ const offsetValue = await new Promise((resolve, reject) => {
97
+ this.redisClient.get(redisKey, (err, response) => {
98
+ if (err) {
99
+ reject(err);
100
+ }
101
+ resolve(response);
93
102
  });
94
- this.logger.info('The offset value retreived from redis for topic is:', { topicName, offsetValue });
95
- return offsetValue;
96
103
  });
104
+ this.logger.info('The offset value retreived from redis for topic is:', { topicName, offsetValue });
105
+ return offsetValue;
97
106
  }
98
107
  /**
99
108
  * stops the redis client
@@ -101,15 +110,13 @@ class OffsetStore {
101
110
  * @param {object} redisClient
102
111
  * @return {object}
103
112
  */
104
- stop() {
105
- return __awaiter(this, void 0, void 0, function* () {
106
- for (let i = 0; i < this.timerID.length; i += 1) {
107
- clearInterval(this.timerID[i]);
108
- }
109
- if (this.redisClient) {
110
- yield this.redisClient.quit();
111
- }
112
- });
113
+ async stop() {
114
+ for (let i = 0; i < this.timerID.length; i += 1) {
115
+ clearInterval(this.timerID[i]);
116
+ }
117
+ if (this.redisClient) {
118
+ await this.redisClient.quit();
119
+ }
113
120
  }
114
121
  }
115
122
  exports.OffsetStore = OffsetStore;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/offsets/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/offsets/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@restorecommerce/chassis-srv",
3
- "version": "0.3.2",
3
+ "version": "0.3.6",
4
4
  "description": "Restore Commerce microservice chassis",
5
5
  "main": "./lib/index.js",
6
6
  "author": "n-fuse GmbH",
@@ -17,54 +17,54 @@
17
17
  ],
18
18
  "typings": "lib/index.d.ts",
19
19
  "dependencies": {
20
- "@grpc/grpc-js": "^1.3.6",
21
- "@grpc/proto-loader": "^0.6.4",
22
- "@restorecommerce/grpc-client": "^0.2.6",
23
- "@restorecommerce/kafka-client": "^0.2.17",
24
- "@restorecommerce/logger": "^0.10.4",
25
- "@restorecommerce/protos": "^0.4.3",
26
- "@restorecommerce/service-config": "^0.4.14",
27
- "arangojs": "^7.5.0",
28
- "async": "^3.2.0",
29
- "async-retry": "^1.3.1",
30
- "cache-manager": "^3.4.4",
20
+ "@grpc/grpc-js": "^1.5.3",
21
+ "@grpc/proto-loader": "^0.6.9",
22
+ "@restorecommerce/grpc-client": "^0.2.14",
23
+ "@restorecommerce/kafka-client": "^0.2.29",
24
+ "@restorecommerce/logger": "^0.11.3",
25
+ "@restorecommerce/protos": "^0.5.0",
26
+ "@restorecommerce/service-config": "^0.4.23",
27
+ "arangojs": "^7.7.0",
28
+ "async": "^3.2.3",
29
+ "async-retry": "^1.3.3",
30
+ "cache-manager": "^3.6.0",
31
31
  "cls-hooked": "^4.2.2",
32
32
  "cls-rtracer": "^2.6.0",
33
- "ioredis": "^4.27.7",
33
+ "ioredis": "^4.28.3",
34
34
  "kafkajs": "^1.15.0",
35
35
  "lodash": "^4.17.21",
36
- "long": "^4.0.0",
36
+ "long": "^5.2.0",
37
37
  "nedb": "^1.8.0",
38
38
  "protobufjs": "^6.11.2"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/cache-manager": "^3.4.2",
42
- "@types/lodash": "^4.14.172",
42
+ "@types/lodash": "^4.14.178",
43
43
  "@types/long": "^4.0.1",
44
- "@types/mocha": "^9.0.0",
44
+ "@types/mocha": "^9.1.0",
45
45
  "@types/nedb": "^1.8.12",
46
- "@types/node": "^16.4.10",
47
- "@typescript-eslint/eslint-plugin": "^4.29.0",
48
- "@typescript-eslint/eslint-plugin-tslint": "^4.29.0",
49
- "@typescript-eslint/parser": "^4.29.0",
46
+ "@types/node": "^17.0.13",
47
+ "@typescript-eslint/eslint-plugin": "^5.10.1",
48
+ "@typescript-eslint/eslint-plugin-tslint": "^5.10.1",
49
+ "@typescript-eslint/parser": "^5.10.1",
50
50
  "cross-env": "^7.0.3",
51
- "eslint": "^7.32.0",
52
- "eslint-plugin-prefer-arrow-functions": "^3.0.1",
53
- "mocha": "^9.0.3",
51
+ "eslint": "^8.7.0",
52
+ "eslint-plugin-prefer-arrow-functions": "^3.1.4",
53
+ "mocha": "^9.2.0",
54
54
  "mocha-typescript": "^1.1.17",
55
55
  "npm-run-all": "^4.1.5",
56
56
  "nyc": "^15.1.0",
57
57
  "rimraf": "^3.0.2",
58
- "rxjs": "^7.3.0",
58
+ "rxjs": "^7.5.2",
59
59
  "should": "^13.2.3",
60
60
  "sleep": "^6.3.0",
61
- "ts-node": "^10.1.0",
61
+ "ts-node": "^10.4.0",
62
62
  "tslint": "^6.1.3",
63
- "typescript": "^4.3.5"
63
+ "typescript": "^4.5.5"
64
64
  },
65
65
  "scripts": {
66
66
  "lint": "eslint './src/**/*.ts' ",
67
- "pretest": "npm run build && npm run createtopics",
67
+ "pretest": "npm run build",
68
68
  "test": "npm run lint && nyc npm run mocha",
69
69
  "mochadebug": "cross-env NODE_ENV=test; mocha --full-trace --inspect-brk",
70
70
  "mocha": "cross-env NODE_ENV=test; mocha --full-trace --exit --trace-warnings;",
package/test.js ADDED
@@ -0,0 +1,56 @@
1
+ const edgeDefConfig = [
2
+ {
3
+ "collection": "has",
4
+ "from": "person",
5
+ "to": "car"
6
+ },
7
+ {
8
+ "collection": "belongs",
9
+ "from": "car",
10
+ "to": "place"
11
+ },
12
+ {
13
+ "collection": "redides",
14
+ "from": "place",
15
+ "to": "state"
16
+ },
17
+ {
18
+ "collection": "lives",
19
+ "from": "person",
20
+ "to": "country"
21
+ }
22
+ ];
23
+
24
+ const collectionName = 'person';
25
+
26
+ let entitiesList = [];
27
+
28
+ const recursivePathFinder = (collection) => {
29
+ if(entitiesList.includes(collection)) {
30
+ return;
31
+ }
32
+ entitiesList.push(collection);
33
+ console.log('Entities list after adding collection is...', entitiesList);
34
+ let items = edgeDefConfig.filter(col => col.from === collection);
35
+ for (let item of items) {
36
+ recursivePathFinder(item.to);
37
+ }
38
+ // console.log(t);
39
+ };
40
+
41
+ // recursivePathFinder('person');
42
+
43
+ const _ = require('lodash');
44
+ let filteredEntities = ["person"];
45
+ let completeEntities = ["person", "car", "place", "country"];
46
+
47
+ filteredEntities = filteredEntities.sort();
48
+ completeEntities = completeEntities.sort();
49
+ console.log('Complete entities are...', completeEntities);
50
+ console.log('Equal ...or not...', _.isEqual(filteredEntities, completeEntities));
51
+ let t = _.intersection(filteredEntities, completeEntities);
52
+ console.log('Intersection is..', t);
53
+ for (let elem of t) {
54
+ completeEntities.splice(completeEntities.indexOf(elem), 1);
55
+ }
56
+ console.log('CMP is...', completeEntities);
package/tsconfig.json CHANGED
@@ -1,25 +1,32 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "es6",
3
+ "target": "ES2021",
4
4
  "module": "commonjs",
5
5
  "moduleResolution": "node",
6
+ "declaration": true,
7
+ // "strict": true,
6
8
  "emitDecoratorMetadata": true,
7
9
  "experimentalDecorators": true,
8
10
  "allowSyntheticDefaultImports": true,
11
+ "noUnusedLocals": false,
12
+ "skipLibCheck": true,
13
+ "esModuleInterop": true,
14
+ "sourceMap": true,
9
15
  "outDir": "lib",
10
16
  "typeRoots": [
11
17
  "node_modules/@types"
12
18
  ],
13
- "skipLibCheck": true,
14
- "sourceMap": true
19
+ "lib": [
20
+ "es2020.promise",
21
+ "dom"
22
+ ]
15
23
  },
16
24
  "include": [
17
- "./src/**/*.ts"
25
+ "./src/**/*.ts"
18
26
  ],
19
27
  "exclude": [
20
28
  "node_modules",
21
- "definitions",
22
29
  "lib",
23
- "docs"
30
+ "doc"
24
31
  ]
25
32
  }
package/setupTopics.js DELETED
@@ -1,32 +0,0 @@
1
- const { Events } = require('@restorecommerce/kafka-client');
2
- const RestoreLogger = require('@restorecommerce/logger');
3
- const sconfig = require('@restorecommerce/service-config');
4
-
5
- const cfg = sconfig.createServiceConfig('./test/');
6
- const logger = new RestoreLogger.createLogger(cfg.get('logger'));
7
-
8
- /*
9
- * This script is used to create kafka topics before running the tests.
10
- */
11
- async function createTopics() {
12
- const events = new Events(cfg.get('events:kafka'), logger);
13
- await events.start();
14
-
15
- process.argv.forEach((value, index, array) => {
16
- if (index >= 2) {
17
- events.topic(value);
18
- logger.info('Created topic', value, ' successfully');
19
- }
20
- });
21
-
22
- // Give a delay of 3 seconds and exit the process
23
- // this delay is for the creation of topic via zookeeper
24
- setTimeout(() => {
25
- logger.info('Exiting after topic creation');
26
- process.exit();
27
- }, 3000);
28
- }
29
-
30
- createTopics().catch((err) => {
31
- logger.error(err);
32
- });