@restorecommerce/chassis-srv 0.3.3 → 0.3.7

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 +19 -0
  2. package/lib/cache/index.js +22 -3
  3. package/lib/cache/index.js.map +1 -1
  4. package/lib/command-interface/index.d.ts +3 -3
  5. package/lib/command-interface/index.js +432 -498
  6. package/lib/command-interface/index.js.map +1 -1
  7. package/lib/config/index.js +6 -15
  8. package/lib/config/index.js.map +1 -1
  9. package/lib/database/index.d.ts +2 -4
  10. package/lib/database/index.js +4 -13
  11. package/lib/database/index.js.map +1 -1
  12. package/lib/database/provider/arango/base.js +314 -322
  13. package/lib/database/provider/arango/base.js.map +1 -1
  14. package/lib/database/provider/arango/common.js +70 -57
  15. package/lib/database/provider/arango/common.js.map +1 -1
  16. package/lib/database/provider/arango/graph.d.ts +4 -8
  17. package/lib/database/provider/arango/graph.js +335 -470
  18. package/lib/database/provider/arango/graph.js.map +1 -1
  19. package/lib/database/provider/arango/index.js +34 -21
  20. package/lib/database/provider/arango/index.js.map +1 -1
  21. package/lib/database/provider/arango/interface.d.ts +70 -0
  22. package/lib/database/provider/arango/interface.js +46 -0
  23. package/lib/database/provider/arango/interface.js.map +1 -0
  24. package/lib/database/provider/arango/utils.d.ts +77 -0
  25. package/lib/database/provider/arango/utils.js +587 -0
  26. package/lib/database/provider/arango/utils.js.map +1 -0
  27. package/lib/database/provider/nedb/index.js +203 -206
  28. package/lib/database/provider/nedb/index.js.map +1 -1
  29. package/lib/health/index.js +36 -42
  30. package/lib/health/index.js.map +1 -1
  31. package/lib/index.d.ts +4 -0
  32. package/lib/index.js +27 -6
  33. package/lib/index.js.map +1 -1
  34. package/lib/microservice/endpoint.js +33 -23
  35. package/lib/microservice/endpoint.js.map +1 -1
  36. package/lib/microservice/server.js +115 -106
  37. package/lib/microservice/server.js.map +1 -1
  38. package/lib/microservice/transport/provider/grpc/index.js +58 -52
  39. package/lib/microservice/transport/provider/grpc/index.js.map +1 -1
  40. package/lib/microservice/transport/provider/grpc/reflection.js +101 -93
  41. package/lib/microservice/transport/provider/grpc/reflection.js.map +1 -1
  42. package/lib/offsets/index.d.ts +2 -2
  43. package/lib/offsets/index.js +41 -42
  44. package/lib/offsets/index.js.map +1 -1
  45. package/package.json +29 -29
  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.create = void 0;
13
- const Datastore = require("nedb");
14
- const _ = require("lodash");
26
+ const nedb_1 = __importDefault(require("nedb"));
27
+ const _ = __importStar(require("lodash"));
15
28
  /**
16
29
  * Converts unsupported functions to regexp.
17
30
  * @param {object} filter query filter
@@ -85,32 +98,30 @@ class NedbProvider {
85
98
  * @param {String} collection Collection name
86
99
  * @param {Object|array.Object} documents A single or multiple documents.
87
100
  */
88
- insert(collection, documents) {
89
- return __awaiter(this, void 0, void 0, function* () {
90
- const collections = this.collections;
91
- if (!_.isArray(documents)) {
92
- documents = [documents];
93
- }
94
- const docs = _.cloneDeep(documents);
95
- for (let doc of docs) {
96
- _.set(doc, '_id', doc.id);
97
- }
98
- return new Promise((resolve, reject) => {
99
- collections[collection].insert(docs, (err, newdocs) => {
100
- // docs
101
- if (err) {
102
- resolve([{
103
- error: true,
104
- errorMessage: err.message
105
- }]);
106
- }
107
- else {
108
- for (let newdoc of newdocs) {
109
- _.unset(newdoc, '_id');
110
- }
111
- resolve(newdocs);
101
+ async insert(collection, documents) {
102
+ const collections = this.collections;
103
+ if (!_.isArray(documents)) {
104
+ documents = [documents];
105
+ }
106
+ const docs = _.cloneDeep(documents);
107
+ for (let doc of docs) {
108
+ _.set(doc, '_id', doc.id);
109
+ }
110
+ return new Promise((resolve, reject) => {
111
+ collections[collection].insert(docs, (err, newdocs) => {
112
+ // docs
113
+ if (err) {
114
+ resolve([{
115
+ error: true,
116
+ errorMessage: err.message
117
+ }]);
118
+ }
119
+ else {
120
+ for (let newdoc of newdocs) {
121
+ _.unset(newdoc, '_id');
112
122
  }
113
- });
123
+ resolve(newdocs);
124
+ }
114
125
  });
115
126
  });
116
127
  }
@@ -122,38 +133,36 @@ class NedbProvider {
122
133
  * @param {Object} options options.limit, options.offset
123
134
  * @return {array.Object} A list of found documents.
124
135
  */
125
- find(collection, filter = {}, options = {}) {
126
- return __awaiter(this, void 0, void 0, function* () {
127
- const fil = convertToRegexp(filter || {});
128
- let q = this.collections[collection].find(fil, options.fields);
129
- if (options.offset) {
130
- q = q.skip(options.offset);
131
- }
132
- if (options.limit) {
133
- q = q.limit(options.limit);
134
- }
135
- if (options.sort) {
136
- q = q.sort(options.sort);
137
- }
138
- const result = new Promise((resolve, reject) => {
139
- q.exec((err, docs) => {
140
- // docs
141
- if (err) {
142
- reject(err);
143
- }
144
- else {
145
- _.map(docs, (doc) => {
146
- if (_.isNil(doc.id)) {
147
- _.set(doc, '_id', doc._id);
148
- }
149
- _.unset(doc, '_id');
150
- });
151
- resolve(docs);
152
- }
153
- });
136
+ async find(collection, filter = {}, options = {}) {
137
+ const fil = convertToRegexp(filter || {});
138
+ let q = this.collections[collection].find(fil, options.fields);
139
+ if (options.offset) {
140
+ q = q.skip(options.offset);
141
+ }
142
+ if (options.limit) {
143
+ q = q.limit(options.limit);
144
+ }
145
+ if (options.sort) {
146
+ q = q.sort(options.sort);
147
+ }
148
+ const result = new Promise((resolve, reject) => {
149
+ q.exec((err, docs) => {
150
+ // docs
151
+ if (err) {
152
+ reject(err);
153
+ }
154
+ else {
155
+ _.map(docs, (doc) => {
156
+ if (_.isNil(doc.id)) {
157
+ _.set(doc, '_id', doc._id);
158
+ }
159
+ _.unset(doc, '_id');
160
+ });
161
+ resolve(docs);
162
+ }
154
163
  });
155
- return result;
156
164
  });
165
+ return result;
157
166
  }
158
167
  /**
159
168
  * Find documents by id (_key).
@@ -162,30 +171,28 @@ class NedbProvider {
162
171
  * @param {String|array.String} identifications A single ID or multiple IDs.
163
172
  * @return {array.Object} A list of found documents.
164
173
  */
165
- findByID(collection, identifications) {
166
- return __awaiter(this, void 0, void 0, function* () {
167
- let ids = identifications;
168
- if (!_.isArray(identifications)) {
169
- ids = [identifications];
170
- }
171
- const q = buildOrQuery(ids, 'id');
172
- const collections = this.collections;
173
- const result = new Promise((resolve, reject) => {
174
- collections[collection].find(q).exec((err, docs) => {
175
- if (docs) {
176
- const l = docs.length;
177
- for (let i = 0; i < l; i += 1) {
178
- _.unset(docs[i], '_id');
179
- }
180
- resolve(docs);
181
- }
182
- else if (err) {
183
- reject(err);
174
+ async findByID(collection, identifications) {
175
+ let ids = identifications;
176
+ if (!_.isArray(identifications)) {
177
+ ids = [identifications];
178
+ }
179
+ const q = buildOrQuery(ids, 'id');
180
+ const collections = this.collections;
181
+ const result = new Promise((resolve, reject) => {
182
+ collections[collection].find(q).exec((err, docs) => {
183
+ if (docs) {
184
+ const l = docs.length;
185
+ for (let i = 0; i < l; i += 1) {
186
+ _.unset(docs[i], '_id');
184
187
  }
185
- });
188
+ resolve(docs);
189
+ }
190
+ else if (err) {
191
+ reject(err);
192
+ }
186
193
  });
187
- return result;
188
194
  });
195
+ return result;
189
196
  }
190
197
  /**
191
198
  * Find documents by filter and updates them with document.
@@ -194,42 +201,40 @@ class NedbProvider {
194
201
  * @param {Object} filter Key, value Object
195
202
  * @param {Object} document A document patch.
196
203
  */
197
- update(collection, document) {
198
- return __awaiter(this, void 0, void 0, function* () {
199
- const collections = this.collections;
200
- if (_.isArray(document)) {
201
- document = document[0];
202
- }
203
- const obj = {
204
- $set: {},
205
- };
206
- Object.keys(document).forEach((key) => {
207
- obj.$set[key] = document[key];
208
- });
209
- let filter = { id: document.id }; // construct filter using document ids
210
- const fil = convertToRegexp(filter || {});
211
- let updatedDocs = new Promise((resolve, reject) => {
212
- collections[collection].update(fil, obj, { multi: true, returnUpdatedDocs: true }, (err, numReplaced, updatedDocs) => {
213
- if (err) {
214
- resolve(err);
215
- }
216
- else {
217
- resolve(updatedDocs);
218
- }
219
- });
220
- });
221
- if (_.isEmpty(updatedDocs)) {
222
- // document not found for update
223
- return [{
224
- error: true,
225
- errorMessage: 'document not found'
226
- }];
227
- }
228
- return _.map(updatedDocs, (doc) => {
229
- _.unset(doc, '_id');
230
- return doc;
204
+ async update(collection, document) {
205
+ const collections = this.collections;
206
+ if (_.isArray(document)) {
207
+ document = document[0];
208
+ }
209
+ const obj = {
210
+ $set: {},
211
+ };
212
+ Object.keys(document).forEach((key) => {
213
+ obj.$set[key] = document[key];
214
+ });
215
+ let filter = { id: document.id }; // construct filter using document ids
216
+ const fil = convertToRegexp(filter || {});
217
+ let updatedDocs = new Promise((resolve, reject) => {
218
+ collections[collection].update(fil, obj, { multi: true, returnUpdatedDocs: true }, (err, numReplaced, updatedDocs) => {
219
+ if (err) {
220
+ resolve(err);
221
+ }
222
+ else {
223
+ resolve(updatedDocs);
224
+ }
231
225
  });
232
226
  });
227
+ if (_.isEmpty(updatedDocs)) {
228
+ // document not found for update
229
+ return [{
230
+ error: true,
231
+ errorMessage: 'document not found'
232
+ }];
233
+ }
234
+ return _.map(updatedDocs, (doc) => {
235
+ _.unset(doc, '_id');
236
+ return doc;
237
+ });
233
238
  }
234
239
  /**
235
240
  * Find each document based on it's key and update it.
@@ -238,30 +243,28 @@ class NedbProvider {
238
243
  * @param {String} collection Collection name
239
244
  * @param {Object|Array.Object} documents
240
245
  */
241
- upsert(collection, documents) {
242
- return __awaiter(this, void 0, void 0, function* () {
243
- const collections = this.collections;
244
- let docs = _.cloneDeep(documents);
245
- if (!_.isArray(docs)) {
246
- docs = [docs];
247
- }
248
- let results = [];
249
- for (let doc of docs) {
250
- _.set(doc, '_id', doc.id);
251
- const result = new Promise((resolve, reject) => {
252
- collections[collection].update({ _id: doc._id }, doc, { upsert: true, returnUpdatedDocs: true }, (err, numReplaced, upserted) => {
253
- if (err) {
254
- reject(err);
255
- }
256
- resolve(upserted);
257
- });
246
+ async upsert(collection, documents) {
247
+ const collections = this.collections;
248
+ let docs = _.cloneDeep(documents);
249
+ if (!_.isArray(docs)) {
250
+ docs = [docs];
251
+ }
252
+ let results = [];
253
+ for (let doc of docs) {
254
+ _.set(doc, '_id', doc.id);
255
+ const result = new Promise((resolve, reject) => {
256
+ collections[collection].update({ _id: doc._id }, doc, { upsert: true, returnUpdatedDocs: true }, (err, numReplaced, upserted) => {
257
+ if (err) {
258
+ reject(err);
259
+ }
260
+ resolve(upserted);
258
261
  });
259
- results.push(yield result);
260
- }
261
- return _.map(results, (doc) => {
262
- _.unset(doc, '_id');
263
- return doc;
264
262
  });
263
+ results.push(await result);
264
+ }
265
+ return _.map(results, (doc) => {
266
+ _.unset(doc, '_id');
267
+ return doc;
265
268
  });
266
269
  }
267
270
  /**
@@ -270,42 +273,40 @@ class NedbProvider {
270
273
  * @param {String} collection Collection name
271
274
  * @param {Object} filter
272
275
  */
273
- delete(collection, ids) {
274
- return __awaiter(this, void 0, void 0, function* () {
275
- const collections = this.collections;
276
- let fil = {};
277
- let deleteResponse = [];
278
- for (let id of ids) {
279
- collections[collection].find({ id }, (err, docs) => {
280
- if (_.isEmpty(docs)) {
281
- deleteResponse.push({
282
- error: true,
283
- errorMessage: 'Document not found'
284
- });
285
- }
286
- else {
287
- deleteResponse.push(docs[0]);
288
- }
289
- });
290
- }
291
- if (_.isEmpty(ids)) {
292
- fil = {}; // if no ids are provided delete all documents and filter for this is {}
293
- }
294
- else {
295
- fil = { id: { $in: ids } };
296
- }
297
- const numRemoved = yield new Promise((resolve, reject) => {
298
- collections[collection].remove(fil, { multi: true }, (err, numRemoved) => {
299
- if (err) {
300
- throw new Error(err);
301
- }
302
- else {
303
- resolve(numRemoved);
304
- }
305
- });
276
+ async delete(collection, ids) {
277
+ const collections = this.collections;
278
+ let fil = {};
279
+ let deleteResponse = [];
280
+ for (let id of ids) {
281
+ collections[collection].find({ id }, (err, docs) => {
282
+ if (_.isEmpty(docs)) {
283
+ deleteResponse.push({
284
+ error: true,
285
+ errorMessage: 'Document not found'
286
+ });
287
+ }
288
+ else {
289
+ deleteResponse.push(docs[0]);
290
+ }
291
+ });
292
+ }
293
+ if (_.isEmpty(ids)) {
294
+ fil = {}; // if no ids are provided delete all documents and filter for this is {}
295
+ }
296
+ else {
297
+ fil = { id: { $in: ids } };
298
+ }
299
+ const numRemoved = await new Promise((resolve, reject) => {
300
+ collections[collection].remove(fil, { multi: true }, (err, numRemoved) => {
301
+ if (err) {
302
+ throw new Error(err);
303
+ }
304
+ else {
305
+ resolve(numRemoved);
306
+ }
306
307
  });
307
- return deleteResponse;
308
308
  });
309
+ return deleteResponse;
309
310
  }
310
311
  /**
311
312
  * Count all documents selected by filter.
@@ -313,19 +314,17 @@ class NedbProvider {
313
314
  * @param {String} collection Collection name
314
315
  * @param {Object} filter
315
316
  */
316
- count(collection, filter = {}) {
317
- return __awaiter(this, void 0, void 0, function* () {
318
- const collections = this.collections;
319
- const fil = convertToRegexp(filter || {});
320
- const result = new Promise((resolve, reject) => {
321
- collections[collection].count(fil, (err, count) => {
322
- if (err)
323
- reject(err);
324
- resolve(count);
325
- });
317
+ async count(collection, filter = {}) {
318
+ const collections = this.collections;
319
+ const fil = convertToRegexp(filter || {});
320
+ const result = new Promise((resolve, reject) => {
321
+ collections[collection].count(fil, (err, count) => {
322
+ if (err)
323
+ reject(err);
324
+ resolve(count);
326
325
  });
327
- return result;
328
326
  });
327
+ return result;
329
328
  }
330
329
  /**
331
330
  * When calling without a collection name,
@@ -334,18 +333,16 @@ class NedbProvider {
334
333
  * delete all documents in specified collection in the database.
335
334
  * @param [string] collection Collection name.
336
335
  */
337
- truncate(collection) {
338
- return __awaiter(this, void 0, void 0, function* () {
339
- if (_.isNil(collection)) {
340
- const collections = _.keys(this.collections);
341
- for (let i = 0; i < collections.length; i += 1) {
342
- yield this.delete(collections[i], []);
343
- }
336
+ async truncate(collection) {
337
+ if (_.isNil(collection)) {
338
+ const collections = _.keys(this.collections);
339
+ for (let i = 0; i < collections.length; i += 1) {
340
+ await this.delete(collections[i], []);
344
341
  }
345
- else {
346
- yield this.delete(collection, []);
347
- }
348
- });
342
+ }
343
+ else {
344
+ await this.delete(collection, []);
345
+ }
349
346
  }
350
347
  }
351
348
  /**
@@ -362,7 +359,7 @@ class NedbProvider {
362
359
  * @return {Object} key, value map containing collection names
363
360
  * as keys and the corresponding NeDB datastores as values.
364
361
  */
365
- const loadDatastores = (config, logger) => __awaiter(void 0, void 0, void 0, function* () {
362
+ const loadDatastores = async (config, logger) => {
366
363
  if (_.isNil(config.collections)) {
367
364
  throw new Error('missing collection config value');
368
365
  }
@@ -377,17 +374,17 @@ const loadDatastores = (config, logger) => __awaiter(void 0, void 0, void 0, fun
377
374
  const load = () => {
378
375
  return (cb) => {
379
376
  conf.onload = cb;
380
- collections[name] = new Datastore(conf);
377
+ collections[name] = new nedb_1.default(conf);
381
378
  };
382
379
  };
383
- yield load();
380
+ await load();
384
381
  }
385
382
  else {
386
- collections[name] = new Datastore(conf);
383
+ collections[name] = new nedb_1.default(conf);
387
384
  }
388
385
  }
389
386
  return collections;
390
- });
387
+ };
391
388
  /**
392
389
  * Create a new NeDB provider.
393
390
  *
@@ -395,15 +392,15 @@ const loadDatastores = (config, logger) => __awaiter(void 0, void 0, void 0, fun
395
392
  * @param {Object} [logger] Logger
396
393
  * @return {NedbProvider} NeDB provider
397
394
  */
398
- const create = (conf, logger) => __awaiter(void 0, void 0, void 0, function* () {
395
+ const create = async (conf, logger) => {
399
396
  let log = logger;
400
397
  if (_.isNil(logger)) {
401
398
  log = {
402
399
  verbose: () => { },
403
400
  };
404
401
  }
405
- const collections = yield loadDatastores(conf, log);
402
+ const collections = await loadDatastores(conf, log);
406
403
  return new NedbProvider(collections);
407
- });
404
+ };
408
405
  exports.create = create;
409
406
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/database/provider/nedb/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/database/provider/nedb/index.ts"],"names":[],"mappings":"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"}