@restorecommerce/resource-base-interface 0.2.15 → 1.0.0
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/CHANGELOG.md +5 -0
- package/lib/core/GraphResourcesServiceBase.d.ts +3 -6
- package/lib/core/GraphResourcesServiceBase.js +13 -21
- package/lib/core/GraphResourcesServiceBase.js.map +1 -1
- package/lib/core/ResourcesAPI.js +45 -41
- package/lib/core/ResourcesAPI.js.map +1 -1
- package/lib/core/ServiceBase.d.ts +12 -21
- package/lib/core/ServiceBase.js +78 -89
- package/lib/core/ServiceBase.js.map +1 -1
- package/lib/core/interfaces.d.ts +0 -41
- package/lib/core/interfaces.js +0 -5
- package/lib/core/interfaces.js.map +1 -1
- package/package.json +15 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { GraphDatabaseProvider } from '@restorecommerce/chassis-srv';
|
|
2
2
|
import { Logger } from 'winston';
|
|
3
|
+
import { DeepPartial, ServerStreamingMethodResult, ServiceServiceImplementation, TraversalRequest, TraversalResponse } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/graph';
|
|
3
4
|
/**
|
|
4
5
|
* Graph Resource API base provides functions for graph Operations such as
|
|
5
6
|
* creating or modifying Vertices/Edges, graph traversal etc.
|
|
6
7
|
*/
|
|
7
|
-
export declare class GraphResourcesServiceBase {
|
|
8
|
+
export declare class GraphResourcesServiceBase implements ServiceServiceImplementation {
|
|
8
9
|
private db;
|
|
9
10
|
private bufferFiledCfg?;
|
|
10
11
|
bufferedCollections: any;
|
|
@@ -19,17 +20,13 @@ export declare class GraphResourcesServiceBase {
|
|
|
19
20
|
* collection traversal - Performs a traversal starting from the given
|
|
20
21
|
* startVertex and following edges contained in this edge collection.
|
|
21
22
|
*
|
|
22
|
-
* @param {any} call request object containing start_vertex, opts and collection name.
|
|
23
23
|
* The start_vertex can be either the _id of a document in the database,
|
|
24
24
|
* the _key of an edge in the collection, or a document
|
|
25
25
|
* (i.e. an object with an _id or _key property).
|
|
26
26
|
* opts contains the options such as opts.direction, opts.filter, opts.visitor,
|
|
27
27
|
* opts.init, opts.expander, opts.sort
|
|
28
|
-
* @param {any} context context.
|
|
29
|
-
* @return {TraversalResponse} TraversalResponse containing VertexFields,
|
|
30
|
-
* traversed pahts and materialized data
|
|
31
28
|
*/
|
|
32
|
-
traversal(
|
|
29
|
+
traversal(request: TraversalRequest, context: any): ServerStreamingMethodResult<DeepPartial<TraversalResponse>>;
|
|
33
30
|
/**
|
|
34
31
|
* marshall the data
|
|
35
32
|
*
|
|
@@ -26,7 +26,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.GraphResourcesServiceBase = void 0;
|
|
27
27
|
const _ = __importStar(require("lodash"));
|
|
28
28
|
const logger_1 = require("@restorecommerce/logger");
|
|
29
|
-
const stream_1 = require("stream");
|
|
30
29
|
/**
|
|
31
30
|
* Graph Resource API base provides functions for graph Operations such as
|
|
32
31
|
* creating or modifying Vertices/Edges, graph traversal etc.
|
|
@@ -102,29 +101,24 @@ class GraphResourcesServiceBase {
|
|
|
102
101
|
* collection traversal - Performs a traversal starting from the given
|
|
103
102
|
* startVertex and following edges contained in this edge collection.
|
|
104
103
|
*
|
|
105
|
-
* @param {any} call request object containing start_vertex, opts and collection name.
|
|
106
104
|
* The start_vertex can be either the _id of a document in the database,
|
|
107
105
|
* the _key of an edge in the collection, or a document
|
|
108
106
|
* (i.e. an object with an _id or _key property).
|
|
109
107
|
* opts contains the options such as opts.direction, opts.filter, opts.visitor,
|
|
110
108
|
* opts.init, opts.expander, opts.sort
|
|
111
|
-
* @param {any} context context.
|
|
112
|
-
* @return {TraversalResponse} TraversalResponse containing VertexFields,
|
|
113
|
-
* traversed pahts and materialized data
|
|
114
109
|
*/
|
|
115
|
-
async traversal(
|
|
110
|
+
async *traversal(request, context) {
|
|
116
111
|
try {
|
|
117
|
-
const request = call.request?.request;
|
|
118
112
|
const vertices = request?.vertices;
|
|
119
113
|
const collection = request?.collection;
|
|
120
114
|
const options = request?.opts;
|
|
121
115
|
if (!vertices && !collection) {
|
|
122
116
|
const message = 'missing start vertex or collection_name for graph traversal';
|
|
123
117
|
this.logger.error(message);
|
|
124
|
-
|
|
118
|
+
yield {
|
|
125
119
|
operation_status: { code: 400, message }
|
|
126
|
-
}
|
|
127
|
-
return
|
|
120
|
+
};
|
|
121
|
+
return;
|
|
128
122
|
}
|
|
129
123
|
const filters = request?.filters;
|
|
130
124
|
let path = request?.path ? request.path : false;
|
|
@@ -157,14 +151,13 @@ class GraphResourcesServiceBase {
|
|
|
157
151
|
}
|
|
158
152
|
catch (err) {
|
|
159
153
|
this.logger.error('Error executing DB Traversal', { code: err.code, message: err.message, stack: err.stack });
|
|
160
|
-
|
|
154
|
+
yield {
|
|
161
155
|
operation_status: { code: err.code ? err.code : 500, message: err.message }
|
|
162
|
-
}
|
|
163
|
-
return
|
|
156
|
+
};
|
|
157
|
+
return;
|
|
164
158
|
}
|
|
165
159
|
let rootCursor = traversalCursor.rootCursor;
|
|
166
160
|
let associationCursor = traversalCursor.associationCursor;
|
|
167
|
-
const traversalStream = new stream_1.Stream.Readable({ objectMode: true });
|
|
168
161
|
// root entity data batches
|
|
169
162
|
if (rootCursor && rootCursor.batches) {
|
|
170
163
|
for await (const batch of rootCursor.batches) {
|
|
@@ -177,7 +170,7 @@ class GraphResourcesServiceBase {
|
|
|
177
170
|
delete elem._rev;
|
|
178
171
|
}
|
|
179
172
|
}
|
|
180
|
-
|
|
173
|
+
yield ({ data: { value: Buffer.from(JSON.stringify(batch)) } });
|
|
181
174
|
}
|
|
182
175
|
}
|
|
183
176
|
// association entity data batches
|
|
@@ -216,26 +209,25 @@ class GraphResourcesServiceBase {
|
|
|
216
209
|
}
|
|
217
210
|
if (!_.isEmpty(associationData)) {
|
|
218
211
|
// associated entity data, encoding before pushing data
|
|
219
|
-
|
|
212
|
+
yield ({ data: { value: Buffer.from(JSON.stringify(associationData)) } });
|
|
220
213
|
}
|
|
221
214
|
// paths
|
|
222
215
|
if (!_.isEmpty(traversedPaths)) {
|
|
223
216
|
// traversed paths, encoding before pushing paths
|
|
224
|
-
|
|
217
|
+
yield ({ paths: { value: Buffer.from(JSON.stringify(traversedPaths)) } });
|
|
225
218
|
}
|
|
226
219
|
}
|
|
227
220
|
}
|
|
228
|
-
|
|
229
|
-
traversalStream.push(null);
|
|
230
|
-
traversalStream.pipe(call.request);
|
|
221
|
+
yield ({ operation_status: { code: 200, message: 'success' } });
|
|
231
222
|
this.logger.debug('Traversal request ended');
|
|
232
223
|
return;
|
|
233
224
|
}
|
|
234
225
|
catch (err) {
|
|
235
226
|
this.logger.error('Error caught executing traversal', { code: err.code, message: err.message, stack: err.stack });
|
|
236
|
-
|
|
227
|
+
yield {
|
|
237
228
|
operation_status: { code: err.code ? err.code : 500, message: err.message }
|
|
238
229
|
};
|
|
230
|
+
return;
|
|
239
231
|
}
|
|
240
232
|
}
|
|
241
233
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphResourcesServiceBase.js","sourceRoot":"","sources":["../../src/core/GraphResourcesServiceBase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAE5B,oDAAuD;
|
|
1
|
+
{"version":3,"file":"GraphResourcesServiceBase.js","sourceRoot":"","sources":["../../src/core/GraphResourcesServiceBase.ts"],"names":[],"mappings":"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"}
|
package/lib/core/ResourcesAPI.js
CHANGED
|
@@ -256,7 +256,7 @@ class ResourcesAPIBase {
|
|
|
256
256
|
*/
|
|
257
257
|
async create(documents) {
|
|
258
258
|
const collection = this.collectionName;
|
|
259
|
-
|
|
259
|
+
let toInsert = [];
|
|
260
260
|
let result = [];
|
|
261
261
|
try {
|
|
262
262
|
let result = [];
|
|
@@ -266,13 +266,16 @@ class ResourcesAPIBase {
|
|
|
266
266
|
documents = requiredFieldsResult.documents;
|
|
267
267
|
result = requiredFieldsResult.result;
|
|
268
268
|
}
|
|
269
|
-
|
|
270
|
-
|
|
269
|
+
toInsert = await Promise.all(documents.map(async (doc) => {
|
|
270
|
+
doc = await setDefaults(doc, collection);
|
|
271
271
|
// decode the buffer and store it to DB
|
|
272
272
|
if (this.bufferField) {
|
|
273
|
-
|
|
273
|
+
return (decodeBufferObj(_.cloneDeep(doc), this.bufferField));
|
|
274
274
|
}
|
|
275
|
-
|
|
275
|
+
else {
|
|
276
|
+
return doc;
|
|
277
|
+
}
|
|
278
|
+
}));
|
|
276
279
|
// config fix to be removed after ts-proto is used
|
|
277
280
|
documents = this.convertSecondsNanosToms(documents);
|
|
278
281
|
if (this.isGraphDB(this.db)) {
|
|
@@ -308,9 +311,7 @@ class ResourcesAPIBase {
|
|
|
308
311
|
}
|
|
309
312
|
}
|
|
310
313
|
if (_.isArray(createVertexResp)) {
|
|
311
|
-
|
|
312
|
-
result.push(eachVertexResp);
|
|
313
|
-
}
|
|
314
|
+
createVertexResp.forEach((eachVertexResp) => result.push(eachVertexResp));
|
|
314
315
|
}
|
|
315
316
|
else {
|
|
316
317
|
result.push(createVertexResp);
|
|
@@ -326,9 +327,7 @@ class ResourcesAPIBase {
|
|
|
326
327
|
}
|
|
327
328
|
result = await this.db.insert(collection, this.bufferField ? toInsert : documents);
|
|
328
329
|
if (!_.isEmpty(checkReqFieldResult)) {
|
|
329
|
-
|
|
330
|
-
result.push(reqFieldResult);
|
|
331
|
-
}
|
|
330
|
+
checkReqFieldResult.forEach((reqFieldResult) => result.push(reqFieldResult));
|
|
332
331
|
}
|
|
333
332
|
// config fix to be removed after ts-proto is used
|
|
334
333
|
result = this.convertmsToSecondsNanos(result);
|
|
@@ -354,8 +353,8 @@ class ResourcesAPIBase {
|
|
|
354
353
|
* @param documents
|
|
355
354
|
*/
|
|
356
355
|
checkRequiredFields(requiredFields, documents, result) {
|
|
357
|
-
|
|
358
|
-
|
|
356
|
+
documents.forEach((document) => {
|
|
357
|
+
requiredFields.forEach((eachField) => {
|
|
359
358
|
const isArray = _.isArray(eachField);
|
|
360
359
|
if (!document[eachField]) {
|
|
361
360
|
result.push({
|
|
@@ -373,8 +372,8 @@ class ResourcesAPIBase {
|
|
|
373
372
|
});
|
|
374
373
|
documents = documents.filter(doc => doc.id != document.id);
|
|
375
374
|
}
|
|
376
|
-
}
|
|
377
|
-
}
|
|
375
|
+
});
|
|
376
|
+
});
|
|
378
377
|
return { documents, result };
|
|
379
378
|
}
|
|
380
379
|
/**
|
|
@@ -441,10 +440,13 @@ class ResourcesAPIBase {
|
|
|
441
440
|
*/
|
|
442
441
|
async upsert(documents, events, resourceName) {
|
|
443
442
|
let result = [];
|
|
443
|
+
let createDocsResult = [];
|
|
444
|
+
let updateDocsResult = [];
|
|
444
445
|
try {
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
446
|
+
let createDocuments = [];
|
|
447
|
+
let updateDocuments = [];
|
|
448
|
+
let dispatch = [];
|
|
449
|
+
dispatch = await Promise.all(documents.map(async (doc) => {
|
|
448
450
|
decodeBufferObj(doc, this.bufferField);
|
|
449
451
|
let foundDocs;
|
|
450
452
|
if (doc && doc.id) {
|
|
@@ -458,22 +460,32 @@ class ResourcesAPIBase {
|
|
|
458
460
|
if (_.isEmpty(foundDocs)) {
|
|
459
461
|
// insert
|
|
460
462
|
setDefaults(doc, this.collectionName);
|
|
463
|
+
createDocuments.push(doc);
|
|
461
464
|
eventName = 'Created';
|
|
462
465
|
}
|
|
463
466
|
else {
|
|
464
467
|
// update
|
|
465
468
|
const dbDoc = foundDocs[0];
|
|
466
469
|
updateMetadata(dbDoc.meta, doc);
|
|
470
|
+
updateDocuments.push(doc);
|
|
467
471
|
eventName = 'Modified';
|
|
468
472
|
}
|
|
469
|
-
|
|
473
|
+
if (events) {
|
|
474
|
+
return events.emit(`${resourceName}${eventName}`, doc);
|
|
475
|
+
}
|
|
476
|
+
}));
|
|
477
|
+
if (createDocuments.length > 0) {
|
|
478
|
+
createDocuments = this.convertSecondsNanosToms(createDocuments);
|
|
479
|
+
createDocsResult = await this.create(createDocuments);
|
|
470
480
|
}
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
481
|
+
if (updateDocuments.length > 0) {
|
|
482
|
+
updateDocuments = this.convertSecondsNanosToms(updateDocuments);
|
|
483
|
+
updateDocsResult = await this.update(updateDocuments);
|
|
484
|
+
}
|
|
485
|
+
result = _.union(createDocuments, updateDocuments);
|
|
475
486
|
// config fix to be removed after ts-proto is used
|
|
476
487
|
result = this.convertmsToSecondsNanos(result);
|
|
488
|
+
await Promise.all(dispatch);
|
|
477
489
|
if (this.bufferField) {
|
|
478
490
|
return _.map(result, doc => encodeMsgObj(doc, this.bufferField));
|
|
479
491
|
}
|
|
@@ -499,11 +511,9 @@ class ResourcesAPIBase {
|
|
|
499
511
|
let updateResponse = [];
|
|
500
512
|
try {
|
|
501
513
|
const collectionName = this.collectionName;
|
|
502
|
-
let docsWithUpMetadata =
|
|
503
|
-
for (let i = 0; i < documents.length; i += 1) {
|
|
504
|
-
let doc = documents[i];
|
|
514
|
+
let docsWithUpMetadata = await Promise.all(documents.map(async (doc) => {
|
|
505
515
|
if (this.bufferField) {
|
|
506
|
-
doc = decodeBufferObj(_.cloneDeep(
|
|
516
|
+
doc = decodeBufferObj(_.cloneDeep(doc), this.bufferField);
|
|
507
517
|
}
|
|
508
518
|
const foundDocs = await this.db.find(collectionName, { id: doc.id });
|
|
509
519
|
let dbDoc;
|
|
@@ -516,7 +526,7 @@ class ResourcesAPIBase {
|
|
|
516
526
|
}
|
|
517
527
|
if (this.isGraphDB(this.db)) {
|
|
518
528
|
const db = this.db;
|
|
519
|
-
|
|
529
|
+
await Promise.all(this.edgeCfg.map(async (eachEdgeCfg) => {
|
|
520
530
|
const toIDkey = eachEdgeCfg.to;
|
|
521
531
|
let modified_to_idValues = doc[toIDkey];
|
|
522
532
|
let db_to_idValues = dbDoc[toIDkey];
|
|
@@ -528,7 +538,7 @@ class ResourcesAPIBase {
|
|
|
528
538
|
}
|
|
529
539
|
// delete and recreate only if there is a difference in references
|
|
530
540
|
if (!_.isEqual(modified_to_idValues, db_to_idValues)) {
|
|
531
|
-
//
|
|
541
|
+
// delete and recreate the edge (since there is no way to update the edge as we dont add id to the edge as for doc)
|
|
532
542
|
const fromIDkey = eachEdgeCfg.from;
|
|
533
543
|
const from_id = doc[fromIDkey];
|
|
534
544
|
let fromVerticeName = collectionName;
|
|
@@ -541,32 +551,26 @@ class ResourcesAPIBase {
|
|
|
541
551
|
const edgeCollectionName = eachEdgeCfg.edgeName;
|
|
542
552
|
let outgoingEdges = await db.getOutEdges(edgeCollectionName, `${collectionName}/${dbDoc.id}`);
|
|
543
553
|
if (_.isArray(outgoingEdges.edges)) {
|
|
544
|
-
|
|
545
|
-
await db.removeEdge(edgeCollectionName, outgoingEdge._id);
|
|
546
|
-
}
|
|
554
|
+
await Promise.all(outgoingEdges.edges.map((outgoingEdge) => db.removeEdge(edgeCollectionName, outgoingEdge._id)));
|
|
547
555
|
}
|
|
548
556
|
let incomingEdges = await db.getInEdges(edgeCollectionName, `${collectionName}/${dbDoc.id}`);
|
|
549
557
|
if (_.isArray(incomingEdges.edges)) {
|
|
550
|
-
|
|
551
|
-
await db.removeEdge(edgeCollectionName, incomingEdge._id);
|
|
552
|
-
}
|
|
558
|
+
await Promise.all(incomingEdges.edges.map((incomingEdge) => db.removeEdge(edgeCollectionName, incomingEdge._id)));
|
|
553
559
|
}
|
|
554
560
|
// Create new edges
|
|
555
561
|
if (from_id && modified_to_idValues) {
|
|
556
562
|
if (_.isArray(modified_to_idValues)) {
|
|
557
|
-
|
|
558
|
-
await db.createEdge(eachEdgeCfg.edgeName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${toID}`);
|
|
559
|
-
}
|
|
563
|
+
await Promise.all(modified_to_idValues.map((toID) => db.createEdge(eachEdgeCfg.edgeName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${toID}`)));
|
|
560
564
|
}
|
|
561
565
|
else {
|
|
562
566
|
await db.createEdge(edgeCollectionName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${modified_to_idValues}`);
|
|
563
567
|
}
|
|
564
568
|
}
|
|
565
569
|
}
|
|
566
|
-
}
|
|
570
|
+
}));
|
|
567
571
|
}
|
|
568
|
-
|
|
569
|
-
}
|
|
572
|
+
return doc;
|
|
573
|
+
}));
|
|
570
574
|
// config fix to be removed after ts-proto is used
|
|
571
575
|
docsWithUpMetadata = this.convertSecondsNanosToms(docsWithUpMetadata);
|
|
572
576
|
updateResponse = await this.db.update(collectionName, docsWithUpMetadata);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourcesAPI.js","sourceRoot":"","sources":["../../src/core/ResourcesAPI.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ResourcesAPI.js","sourceRoot":"","sources":["../../src/core/ResourcesAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ResourcesAPIBase } from './ResourcesAPI';
|
|
2
|
-
import { ServiceCall, ReadRequest, CreateRequest, DeleteRequest, UpdateRequest, UpsertRequest } from './interfaces';
|
|
3
2
|
import { Logger } from 'winston';
|
|
3
|
+
import { DeepPartial, DeleteRequest, DeleteResponse, ReadRequest, ResourceList, ResourceListResponse, ServiceServiceImplementation } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/resource_base';
|
|
4
4
|
/**
|
|
5
5
|
* A microservice chassis ready class which provides endpoints for
|
|
6
6
|
* CRUD resource operations.
|
|
7
7
|
*/
|
|
8
|
-
export declare class ServiceBase {
|
|
8
|
+
export declare class ServiceBase<T extends ResourceListResponse, M extends ResourceList> implements ServiceServiceImplementation {
|
|
9
9
|
logger: Logger;
|
|
10
10
|
name: string;
|
|
11
11
|
events: any;
|
|
@@ -13,47 +13,38 @@ export declare class ServiceBase {
|
|
|
13
13
|
isEventsEnabled: boolean;
|
|
14
14
|
/**
|
|
15
15
|
* @constructor
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
18
|
-
* @param
|
|
19
|
-
* @param
|
|
16
|
+
* @param entityName entityName Name of the resource.
|
|
17
|
+
* @param entityEvents entityEvents Event topic for the resource.
|
|
18
|
+
* @param logger logger Chassis logger.
|
|
19
|
+
* @param resourceapi resourceapi ResourceAPI object.
|
|
20
|
+
* @param isEventsEnabled.
|
|
20
21
|
*/
|
|
21
22
|
constructor(entityName: string, entityEvents: any, logger: Logger, resourceapi: ResourcesAPIBase, isEventsEnabled?: boolean);
|
|
22
23
|
/**
|
|
23
24
|
* Endpoint read.
|
|
24
25
|
* Return resources based on provided filter and options.
|
|
25
|
-
* @param call request containing filter,limit, offset and sort options
|
|
26
|
-
* @param context
|
|
27
26
|
*/
|
|
28
|
-
read(
|
|
27
|
+
read(request: ReadRequest, context: any): Promise<DeepPartial<T>>;
|
|
29
28
|
private generateStatusResponse;
|
|
30
29
|
private generateResponseWithStatus;
|
|
31
30
|
/**
|
|
32
31
|
* Endpoint create.
|
|
33
32
|
* Inserts resources.
|
|
34
|
-
* @param call contains a list of resources to be created
|
|
35
|
-
* @param context
|
|
36
33
|
*/
|
|
37
|
-
create(
|
|
34
|
+
create(request: M, context: any): Promise<DeepPartial<T>>;
|
|
38
35
|
/**
|
|
39
36
|
* Endpoint delete.
|
|
40
37
|
* Removes resources specified by id or all resources.
|
|
41
|
-
* @param call contains list of resource IDs to be deleted
|
|
42
|
-
* @param context
|
|
43
38
|
*/
|
|
44
|
-
delete(
|
|
39
|
+
delete(request: DeleteRequest, context: any): Promise<DeepPartial<DeleteResponse>>;
|
|
45
40
|
/**
|
|
46
41
|
* Endpoint update.
|
|
47
42
|
* Updates resources.
|
|
48
|
-
* @param call contains list of resources to be modified
|
|
49
|
-
* @param context
|
|
50
43
|
*/
|
|
51
|
-
update(
|
|
44
|
+
update(request: M, context: any): Promise<DeepPartial<T>>;
|
|
52
45
|
/**
|
|
53
46
|
* Endpoint upsert.
|
|
54
47
|
* Upserts resources.
|
|
55
|
-
* @param call contains list of resources to be created or modified
|
|
56
|
-
* @param context
|
|
57
48
|
*/
|
|
58
|
-
upsert(
|
|
49
|
+
upsert(request: M, context: any): Promise<DeepPartial<T>>;
|
|
59
50
|
}
|
package/lib/core/ServiceBase.js
CHANGED
|
@@ -25,9 +25,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.ServiceBase = void 0;
|
|
27
27
|
const _ = __importStar(require("lodash"));
|
|
28
|
-
const chassis = __importStar(require("@restorecommerce/chassis-srv"));
|
|
29
28
|
const index_1 = require("../index");
|
|
30
|
-
const
|
|
29
|
+
const resource_base_1 = require("@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/resource_base");
|
|
31
30
|
// Mapping of arangodb error codes to standard HTTP error codes
|
|
32
31
|
const arangoHttpErrCodeMap = new Map([
|
|
33
32
|
[1210, 409],
|
|
@@ -47,10 +46,11 @@ const arangoHttpErrCodeMap = new Map([
|
|
|
47
46
|
class ServiceBase {
|
|
48
47
|
/**
|
|
49
48
|
* @constructor
|
|
50
|
-
* @param
|
|
51
|
-
* @param
|
|
52
|
-
* @param
|
|
53
|
-
* @param
|
|
49
|
+
* @param entityName entityName Name of the resource.
|
|
50
|
+
* @param entityEvents entityEvents Event topic for the resource.
|
|
51
|
+
* @param logger logger Chassis logger.
|
|
52
|
+
* @param resourceapi resourceapi ResourceAPI object.
|
|
53
|
+
* @param isEventsEnabled.
|
|
54
54
|
*/
|
|
55
55
|
constructor(entityName, entityEvents, logger, resourceapi, isEventsEnabled) {
|
|
56
56
|
this.logger = logger;
|
|
@@ -65,72 +65,64 @@ class ServiceBase {
|
|
|
65
65
|
/**
|
|
66
66
|
* Endpoint read.
|
|
67
67
|
* Return resources based on provided filter and options.
|
|
68
|
-
* @param call request containing filter,limit, offset and sort options
|
|
69
|
-
* @param context
|
|
70
68
|
*/
|
|
71
|
-
async read(
|
|
69
|
+
async read(request, context) {
|
|
72
70
|
let docs = {};
|
|
73
|
-
if (!_.isEmpty(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
71
|
+
if (!_.isEmpty(request.search)) {
|
|
72
|
+
return {
|
|
73
|
+
...docs,
|
|
74
|
+
operation_status: {
|
|
75
|
+
code: 404,
|
|
76
|
+
message: 'Full-text search is not implemented'
|
|
77
|
+
}
|
|
77
78
|
};
|
|
78
|
-
return docs;
|
|
79
79
|
}
|
|
80
80
|
try {
|
|
81
81
|
let objectEntities = [];
|
|
82
82
|
let sort;
|
|
83
|
-
if (!_.isEmpty(
|
|
83
|
+
if (!_.isEmpty(request.sort)) {
|
|
84
84
|
sort = {};
|
|
85
|
-
_.forEach(
|
|
85
|
+
_.forEach(request.sort, (s) => {
|
|
86
86
|
switch (s.order) {
|
|
87
|
-
case
|
|
88
|
-
case 1:
|
|
87
|
+
case resource_base_1.Sort_SortOrder.ASCENDING:
|
|
89
88
|
sort[s.field] = 'ASC';
|
|
90
89
|
break;
|
|
91
|
-
case
|
|
92
|
-
case 'DESCENDING':
|
|
90
|
+
case resource_base_1.Sort_SortOrder.DESCENDING:
|
|
93
91
|
sort[s.field] = 'DESC';
|
|
94
92
|
break;
|
|
95
|
-
case 'UNSORTED':
|
|
96
|
-
case 0:
|
|
97
|
-
default:
|
|
98
|
-
break;
|
|
99
93
|
}
|
|
100
94
|
});
|
|
101
95
|
}
|
|
102
|
-
let limit =
|
|
103
|
-
if (
|
|
96
|
+
let limit = request.limit;
|
|
97
|
+
if (request.limit <= 0) {
|
|
104
98
|
limit = 1000;
|
|
105
99
|
}
|
|
106
|
-
const offset =
|
|
100
|
+
const offset = request.offset;
|
|
107
101
|
let filter = {};
|
|
108
102
|
// convert the filter from proto structure (field, operation, value and operand) to {field: value } mapping
|
|
109
|
-
if (!_.isEmpty(
|
|
110
|
-
filter = (0, index_1.toObject)(
|
|
103
|
+
if (!_.isEmpty(request.filters)) {
|
|
104
|
+
filter = (0, index_1.toObject)(request.filters);
|
|
111
105
|
}
|
|
112
106
|
const field = {};
|
|
113
|
-
_.forEach(
|
|
107
|
+
_.forEach(request.field, (f) => {
|
|
114
108
|
if (f.include) {
|
|
115
109
|
field[f.name] = 1;
|
|
116
110
|
return;
|
|
117
111
|
}
|
|
118
112
|
field[f.name] = 0;
|
|
119
113
|
});
|
|
120
|
-
const customQueries =
|
|
121
|
-
const customArgs =
|
|
114
|
+
const customQueries = request.custom_queries;
|
|
115
|
+
const customArgs = request.custom_arguments || {};
|
|
122
116
|
objectEntities = (await this.resourceapi.read(filter, limit, offset, sort, field, customQueries, customArgs)) || [];
|
|
123
117
|
let readResponseWithStatus = [];
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
docs = {
|
|
118
|
+
objectEntities.map((object) => readResponseWithStatus.push({
|
|
119
|
+
payload: object,
|
|
120
|
+
status: {
|
|
121
|
+
code: 200,
|
|
122
|
+
message: 'success'
|
|
123
|
+
}
|
|
124
|
+
}));
|
|
125
|
+
return {
|
|
134
126
|
items: readResponseWithStatus,
|
|
135
127
|
total_count: objectEntities.length,
|
|
136
128
|
operation_status: {
|
|
@@ -138,7 +130,6 @@ class ServiceBase {
|
|
|
138
130
|
message: 'success'
|
|
139
131
|
}
|
|
140
132
|
};
|
|
141
|
-
return docs;
|
|
142
133
|
}
|
|
143
134
|
catch (e) {
|
|
144
135
|
this.logger.error('Error caught while processing read request', { code: e.code, message: e.message, stack: e.stack });
|
|
@@ -246,13 +237,11 @@ class ServiceBase {
|
|
|
246
237
|
/**
|
|
247
238
|
* Endpoint create.
|
|
248
239
|
* Inserts resources.
|
|
249
|
-
* @param call contains a list of resources to be created
|
|
250
|
-
* @param context
|
|
251
240
|
*/
|
|
252
|
-
async create(
|
|
241
|
+
async create(request, context) {
|
|
253
242
|
let docs = {};
|
|
254
243
|
try {
|
|
255
|
-
const createDocs = _.cloneDeep(
|
|
244
|
+
const createDocs = _.cloneDeep(request.items);
|
|
256
245
|
let createResponse = await this.resourceapi.create(createDocs);
|
|
257
246
|
const dispatch = [];
|
|
258
247
|
const events = this.events.entity;
|
|
@@ -262,7 +251,7 @@ class ServiceBase {
|
|
|
262
251
|
dispatch.push(events.emit(`${this.name}Created`, item));
|
|
263
252
|
}
|
|
264
253
|
});
|
|
265
|
-
await dispatch;
|
|
254
|
+
await Promise.all(dispatch);
|
|
266
255
|
}
|
|
267
256
|
let createResponseWithStatus = this.generateResponseWithStatus(createResponse, createDocs);
|
|
268
257
|
const operation_status = {
|
|
@@ -275,41 +264,41 @@ class ServiceBase {
|
|
|
275
264
|
}
|
|
276
265
|
catch (e) {
|
|
277
266
|
this.logger.error('Error caught while processing create request', { code: e.code, message: e.message, stack: e.stack });
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
267
|
+
return {
|
|
268
|
+
...docs,
|
|
269
|
+
operation_status: {
|
|
270
|
+
code: e.code,
|
|
271
|
+
message: e.details ? e.details : e.message
|
|
272
|
+
}
|
|
281
273
|
};
|
|
282
|
-
return docs;
|
|
283
274
|
}
|
|
284
275
|
}
|
|
285
276
|
/**
|
|
286
277
|
* Endpoint delete.
|
|
287
278
|
* Removes resources specified by id or all resources.
|
|
288
|
-
* @param call contains list of resource IDs to be deleted
|
|
289
|
-
* @param context
|
|
290
279
|
*/
|
|
291
|
-
async delete(
|
|
280
|
+
async delete(request, context) {
|
|
292
281
|
let deleteResponse = { status: [], operation_status: {} };
|
|
293
282
|
try {
|
|
294
283
|
const events = this.events.entity;
|
|
295
284
|
let docs;
|
|
296
|
-
if (
|
|
285
|
+
if (request.collection) {
|
|
297
286
|
docs = await this.resourceapi.deleteCollection();
|
|
298
287
|
this.logger.info(`${this.name} deleted`);
|
|
299
288
|
}
|
|
300
289
|
else {
|
|
301
|
-
docs = await this.resourceapi.delete(
|
|
290
|
+
docs = await this.resourceapi.delete(request.ids);
|
|
302
291
|
}
|
|
303
292
|
// sanitize delete response for docs
|
|
304
|
-
|
|
293
|
+
docs.map((doc) => {
|
|
305
294
|
if (doc._id && doc._key && doc._rev) {
|
|
306
295
|
delete doc._id;
|
|
307
|
-
|
|
308
|
-
|
|
296
|
+
doc.id = doc._key;
|
|
297
|
+
;
|
|
309
298
|
delete doc._key;
|
|
310
299
|
delete doc._rev;
|
|
311
300
|
}
|
|
312
|
-
}
|
|
301
|
+
});
|
|
313
302
|
if (this.isEventsEnabled) {
|
|
314
303
|
const dispatch = [];
|
|
315
304
|
_.forEach(docs, (id) => {
|
|
@@ -320,17 +309,15 @@ class ServiceBase {
|
|
|
320
309
|
dispatch.push(events.emit(`${this.name}Deleted`, id));
|
|
321
310
|
}
|
|
322
311
|
});
|
|
323
|
-
await dispatch;
|
|
312
|
+
await Promise.all(dispatch);
|
|
324
313
|
}
|
|
325
314
|
// if complete collection is dropped then there are no input ids provided,
|
|
326
315
|
// iterate docs and put ids to call.request.ids
|
|
327
|
-
if (
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
call.request.ids.push(doc.id);
|
|
331
|
-
}
|
|
316
|
+
if (request.collection && (_.isNil(request.ids) || _.isEmpty(request.ids))) {
|
|
317
|
+
request.ids = [];
|
|
318
|
+
docs.map((doc) => request.ids.push(doc.id));
|
|
332
319
|
}
|
|
333
|
-
let statusArray = this.generateStatusResponse(docs,
|
|
320
|
+
let statusArray = this.generateStatusResponse(docs, request.ids, true);
|
|
334
321
|
const operation_status = {
|
|
335
322
|
code: 200,
|
|
336
323
|
message: 'success'
|
|
@@ -339,23 +326,23 @@ class ServiceBase {
|
|
|
339
326
|
}
|
|
340
327
|
catch (e) {
|
|
341
328
|
this.logger.error('Error caught while processing delete request', { code: e.code, message: e.message, stack: e.stack });
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
329
|
+
return {
|
|
330
|
+
...deleteResponse,
|
|
331
|
+
operation_status: {
|
|
332
|
+
code: e.code,
|
|
333
|
+
message: e.details ? e.details : e.message
|
|
334
|
+
}
|
|
345
335
|
};
|
|
346
|
-
return deleteResponse;
|
|
347
336
|
}
|
|
348
337
|
}
|
|
349
338
|
/**
|
|
350
339
|
* Endpoint update.
|
|
351
340
|
* Updates resources.
|
|
352
|
-
* @param call contains list of resources to be modified
|
|
353
|
-
* @param context
|
|
354
341
|
*/
|
|
355
|
-
async update(
|
|
342
|
+
async update(request, context) {
|
|
356
343
|
let docs = {};
|
|
357
344
|
try {
|
|
358
|
-
let updateDocs = _.cloneDeep(
|
|
345
|
+
let updateDocs = _.cloneDeep(request.items);
|
|
359
346
|
let updateResponse = await this.resourceapi.update(updateDocs);
|
|
360
347
|
if (this.isEventsEnabled) {
|
|
361
348
|
const dispatch = [];
|
|
@@ -365,7 +352,7 @@ class ServiceBase {
|
|
|
365
352
|
dispatch.push(events.emit(`${this.name}Modified`, update));
|
|
366
353
|
}
|
|
367
354
|
});
|
|
368
|
-
await dispatch;
|
|
355
|
+
await Promise.all(dispatch);
|
|
369
356
|
}
|
|
370
357
|
let responseWithStatus = this.generateResponseWithStatus(updateResponse, updateDocs);
|
|
371
358
|
const operation_status = {
|
|
@@ -378,23 +365,23 @@ class ServiceBase {
|
|
|
378
365
|
}
|
|
379
366
|
catch (e) {
|
|
380
367
|
this.logger.error('Error caught while processing update request', { code: e.code, message: e.message, stack: e.stack });
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
368
|
+
return {
|
|
369
|
+
...docs,
|
|
370
|
+
operation_status: {
|
|
371
|
+
code: e.code,
|
|
372
|
+
message: e.details ? e.details : e.message
|
|
373
|
+
}
|
|
384
374
|
};
|
|
385
|
-
return docs;
|
|
386
375
|
}
|
|
387
376
|
}
|
|
388
377
|
/**
|
|
389
378
|
* Endpoint upsert.
|
|
390
379
|
* Upserts resources.
|
|
391
|
-
* @param call contains list of resources to be created or modified
|
|
392
|
-
* @param context
|
|
393
380
|
*/
|
|
394
|
-
async upsert(
|
|
381
|
+
async upsert(request, context) {
|
|
395
382
|
let docs = {};
|
|
396
383
|
try {
|
|
397
|
-
let upsertDocs = _.cloneDeep(
|
|
384
|
+
let upsertDocs = _.cloneDeep(request.items);
|
|
398
385
|
let upsertResponse = await this.resourceapi.upsert(upsertDocs, this.events.entity, this.name);
|
|
399
386
|
let responseWithStatus = this.generateResponseWithStatus(upsertResponse, upsertDocs);
|
|
400
387
|
const operation_status = {
|
|
@@ -407,11 +394,13 @@ class ServiceBase {
|
|
|
407
394
|
}
|
|
408
395
|
catch (e) {
|
|
409
396
|
this.logger.error('Error caught while processing upsert request', { code: e.code, message: e.message, stack: e.stack });
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
397
|
+
return {
|
|
398
|
+
...docs,
|
|
399
|
+
operation_status: {
|
|
400
|
+
code: e.code,
|
|
401
|
+
message: e.details ? e.details : e.message
|
|
402
|
+
}
|
|
413
403
|
};
|
|
414
|
-
return docs;
|
|
415
404
|
}
|
|
416
405
|
}
|
|
417
406
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceBase.js","sourceRoot":"","sources":["../../src/core/ServiceBase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ServiceBase.js","sourceRoot":"","sources":["../../src/core/ServiceBase.ts"],"names":[],"mappings":"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"}
|
package/lib/core/interfaces.d.ts
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import { Vertices, Collection } from '@restorecommerce/chassis-srv';
|
|
2
|
-
export declare type TRequest = CreateRequest | DeleteRequest | UpdateRequest | UpsertRequest | ReadRequest;
|
|
3
|
-
export interface ServiceCall<TRequest> {
|
|
4
|
-
request: TRequest;
|
|
5
|
-
}
|
|
6
|
-
export declare type SortType = 'ASCENDING' | 'DESCENDING' | 'UNSORTED' | 2 | 1 | 0;
|
|
7
1
|
export declare enum FilterOperation {
|
|
8
2
|
eq = 0,
|
|
9
3
|
lt = 1,
|
|
@@ -37,29 +31,6 @@ export interface FilterOp {
|
|
|
37
31
|
filter?: Filter[];
|
|
38
32
|
operator?: OperatorType;
|
|
39
33
|
}
|
|
40
|
-
export interface ReadRequest {
|
|
41
|
-
search?: string;
|
|
42
|
-
sort?: {
|
|
43
|
-
field: string;
|
|
44
|
-
order: SortType;
|
|
45
|
-
}[];
|
|
46
|
-
limit?: number;
|
|
47
|
-
offset?: number;
|
|
48
|
-
field?: {
|
|
49
|
-
name: string;
|
|
50
|
-
include: boolean;
|
|
51
|
-
}[];
|
|
52
|
-
filters?: FilterOp[];
|
|
53
|
-
custom_queries?: string[];
|
|
54
|
-
custom_arguments?: any;
|
|
55
|
-
}
|
|
56
|
-
export interface DeleteRequest {
|
|
57
|
-
collection?: boolean;
|
|
58
|
-
ids?: string[];
|
|
59
|
-
}
|
|
60
|
-
export interface UpdateRequest {
|
|
61
|
-
items: BaseDocument[];
|
|
62
|
-
}
|
|
63
34
|
export interface BaseDocument {
|
|
64
35
|
id?: string;
|
|
65
36
|
meta?: DocumentMetadata;
|
|
@@ -74,11 +45,6 @@ export interface DocumentMetadata {
|
|
|
74
45
|
value: string;
|
|
75
46
|
}[];
|
|
76
47
|
}
|
|
77
|
-
export interface UpsertRequest extends UpdateRequest {
|
|
78
|
-
}
|
|
79
|
-
export interface CreateRequest {
|
|
80
|
-
items: BaseDocument[];
|
|
81
|
-
}
|
|
82
48
|
export declare enum Direction {
|
|
83
49
|
OUTBOUND = "OUTBOUND",
|
|
84
50
|
INBOUND = "INBOUND"
|
|
@@ -103,10 +69,3 @@ export interface GraphFilters {
|
|
|
103
69
|
filter?: GraphFilter[];
|
|
104
70
|
operator?: OperatorType;
|
|
105
71
|
}
|
|
106
|
-
export interface TraversalRequest {
|
|
107
|
-
vertices?: Vertices;
|
|
108
|
-
collection?: Collection;
|
|
109
|
-
opts?: TraversalOptions;
|
|
110
|
-
path?: boolean;
|
|
111
|
-
filters?: GraphFilters[];
|
|
112
|
-
}
|
package/lib/core/interfaces.js
CHANGED
|
@@ -13,7 +13,6 @@ var FilterOperation;
|
|
|
13
13
|
FilterOperation[FilterOperation["in"] = 7] = "in";
|
|
14
14
|
FilterOperation[FilterOperation["neq"] = 8] = "neq";
|
|
15
15
|
})(FilterOperation = exports.FilterOperation || (exports.FilterOperation = {}));
|
|
16
|
-
;
|
|
17
16
|
var FilterValueType;
|
|
18
17
|
(function (FilterValueType) {
|
|
19
18
|
FilterValueType[FilterValueType["STRING"] = 0] = "STRING";
|
|
@@ -22,18 +21,14 @@ var FilterValueType;
|
|
|
22
21
|
FilterValueType[FilterValueType["DATE"] = 3] = "DATE";
|
|
23
22
|
FilterValueType[FilterValueType["ARRAY"] = 4] = "ARRAY";
|
|
24
23
|
})(FilterValueType = exports.FilterValueType || (exports.FilterValueType = {}));
|
|
25
|
-
;
|
|
26
24
|
var OperatorType;
|
|
27
25
|
(function (OperatorType) {
|
|
28
26
|
OperatorType[OperatorType["and"] = 0] = "and";
|
|
29
27
|
OperatorType[OperatorType["or"] = 1] = "or";
|
|
30
28
|
})(OperatorType = exports.OperatorType || (exports.OperatorType = {}));
|
|
31
|
-
;
|
|
32
29
|
var Direction;
|
|
33
30
|
(function (Direction) {
|
|
34
31
|
Direction["OUTBOUND"] = "OUTBOUND";
|
|
35
32
|
Direction["INBOUND"] = "INBOUND";
|
|
36
33
|
})(Direction = exports.Direction || (exports.Direction = {}));
|
|
37
|
-
;
|
|
38
|
-
;
|
|
39
34
|
//# sourceMappingURL=interfaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/core/interfaces.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/core/interfaces.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAUX;AAVD,WAAY,eAAe;IACzB,iDAAM,CAAA;IACN,iDAAM,CAAA;IACN,mDAAO,CAAA;IACP,iDAAM,CAAA;IACN,mDAAO,CAAA;IACP,2DAAW,CAAA;IACX,uDAAS,CAAA;IACT,iDAAM,CAAA;IACN,mDAAO,CAAA;AACT,CAAC,EAVW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAU1B;AAED,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,yDAAU,CAAA;IACV,yDAAU,CAAA;IACV,2DAAW,CAAA;IACX,qDAAQ,CAAA;IACR,uDAAS,CAAA;AACX,CAAC,EANW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAM1B;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6CAAO,CAAA;IACP,2CAAM,CAAA;AACR,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AA4BD,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,gCAAmB,CAAA;AACrB,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@restorecommerce/resource-base-interface",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Restorecommerce Resource Base Interface",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"author": "n-fuse GmbH",
|
|
@@ -17,30 +17,31 @@
|
|
|
17
17
|
"interface"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@restorecommerce/chassis-srv": "^0.
|
|
21
|
-
"@restorecommerce/grpc-client": "^0.
|
|
22
|
-
"@restorecommerce/kafka-client": "^0.
|
|
23
|
-
"@restorecommerce/
|
|
24
|
-
"@restorecommerce/service-config": "^0.
|
|
20
|
+
"@restorecommerce/chassis-srv": "^1.0.2",
|
|
21
|
+
"@restorecommerce/grpc-client": "^1.0.0",
|
|
22
|
+
"@restorecommerce/kafka-client": "^1.0.1",
|
|
23
|
+
"@restorecommerce/rc-grpc-clients": "^1.0.1",
|
|
24
|
+
"@restorecommerce/service-config": "^1.0.0",
|
|
25
25
|
"lodash": "^4.17.21",
|
|
26
|
-
"redis": "^4.
|
|
26
|
+
"redis": "^4.3.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@types/lodash": "^4.14.
|
|
29
|
+
"@types/lodash": "^4.14.184",
|
|
30
30
|
"@types/mocha": "^9.1.1",
|
|
31
31
|
"@types/redis": "^4.0.11",
|
|
32
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
33
|
-
"@typescript-eslint/eslint-plugin-tslint": "^5.
|
|
34
|
-
"@typescript-eslint/parser": "^5.
|
|
32
|
+
"@typescript-eslint/eslint-plugin": "^5.35.1",
|
|
33
|
+
"@typescript-eslint/eslint-plugin-tslint": "^5.35.1",
|
|
34
|
+
"@typescript-eslint/parser": "^5.35.1",
|
|
35
|
+
"arangojs": "^7.8.0",
|
|
35
36
|
"cross-env": "^7.0.3",
|
|
36
|
-
"eslint": "^8.
|
|
37
|
+
"eslint": "^8.22.0",
|
|
37
38
|
"eslint-plugin-prefer-arrow-functions": "^3.1.4",
|
|
38
39
|
"mocha": "^10.0.0",
|
|
39
40
|
"npm-run-all": "^4.1.5",
|
|
40
41
|
"nyc": "^15.1.0",
|
|
41
42
|
"rimraf": "^3.0.2",
|
|
42
43
|
"should": "^13.2.3",
|
|
43
|
-
"ts-node": "^10.
|
|
44
|
+
"ts-node": "^10.9.1",
|
|
44
45
|
"tslint": "^6.1.3",
|
|
45
46
|
"typescript": "^4.7.4"
|
|
46
47
|
},
|
|
@@ -54,6 +55,7 @@
|
|
|
54
55
|
"mocha-debug": "cross-env NODE_ENV=test; mocha --full-trace --inspect-brk",
|
|
55
56
|
"lcov-report": "nyc report --reporter=lcov",
|
|
56
57
|
"build:tsc": "tsc -d",
|
|
58
|
+
"build:tsc:watch": "tsc -d --watch",
|
|
57
59
|
"build:clean": "rimraf lib",
|
|
58
60
|
"build": "npm-run-all lint build:clean build:tsc"
|
|
59
61
|
},
|