@restorecommerce/resource-base-interface 0.2.15 → 1.1.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 +10 -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.d.ts +3 -1
- package/lib/core/ResourcesAPI.js +48 -43
- package/lib/core/ResourcesAPI.js.map +1 -1
- package/lib/core/ServiceBase.d.ts +12 -21
- package/lib/core/ServiceBase.js +73 -92
- 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 +18 -15
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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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Topic } from '@restorecommerce/kafka-client';
|
|
2
2
|
import { BaseDocument } from './interfaces';
|
|
3
3
|
import { DatabaseProvider } from '@restorecommerce/chassis-srv';
|
|
4
|
+
import { DeepPartial } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/attribute';
|
|
5
|
+
import { Search } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/resource_base';
|
|
4
6
|
/**
|
|
5
7
|
* Resource API base provides functions for CRUD operations.
|
|
6
8
|
*/
|
|
@@ -30,7 +32,7 @@ export declare class ResourcesAPIBase {
|
|
|
30
32
|
* @param {object} field key value, key=field value: 0=exclude, 1=include
|
|
31
33
|
* @returns {an Object that contains an items field}
|
|
32
34
|
*/
|
|
33
|
-
read(filter
|
|
35
|
+
read(filter: Object, limit: number, offset: number, sort: any, field: any, customQueries: string[], customArgs: any, search: DeepPartial<Search>): Promise<BaseDocument[]>;
|
|
34
36
|
/**
|
|
35
37
|
* Inserts documents to the database.
|
|
36
38
|
*
|
package/lib/core/ResourcesAPI.js
CHANGED
|
@@ -226,14 +226,15 @@ class ResourcesAPIBase {
|
|
|
226
226
|
* @param {object} field key value, key=field value: 0=exclude, 1=include
|
|
227
227
|
* @returns {an Object that contains an items field}
|
|
228
228
|
*/
|
|
229
|
-
async read(filter = {}, limit = 1000, offset = 0, sort = {}, field = {}, customQueries = [], customArgs = {}) {
|
|
229
|
+
async read(filter = {}, limit = 1000, offset = 0, sort = {}, field = {}, customQueries = [], customArgs = {}, search) {
|
|
230
230
|
const options = {
|
|
231
231
|
limit: Math.min(limit, 1000),
|
|
232
232
|
offset,
|
|
233
233
|
sort,
|
|
234
234
|
fields: field,
|
|
235
235
|
customQueries,
|
|
236
|
-
customArguments: customArgs.value ? JSON.parse(customArgs.value.toString()) : {}
|
|
236
|
+
customArguments: customArgs.value ? JSON.parse(customArgs.value.toString()) : {},
|
|
237
|
+
search
|
|
237
238
|
};
|
|
238
239
|
let entities = await this.db.find(this.collectionName, filter, options);
|
|
239
240
|
if (this.bufferField) {
|
|
@@ -256,7 +257,7 @@ class ResourcesAPIBase {
|
|
|
256
257
|
*/
|
|
257
258
|
async create(documents) {
|
|
258
259
|
const collection = this.collectionName;
|
|
259
|
-
|
|
260
|
+
let toInsert = [];
|
|
260
261
|
let result = [];
|
|
261
262
|
try {
|
|
262
263
|
let result = [];
|
|
@@ -266,13 +267,16 @@ class ResourcesAPIBase {
|
|
|
266
267
|
documents = requiredFieldsResult.documents;
|
|
267
268
|
result = requiredFieldsResult.result;
|
|
268
269
|
}
|
|
269
|
-
|
|
270
|
-
|
|
270
|
+
toInsert = await Promise.all(documents.map(async (doc) => {
|
|
271
|
+
doc = await setDefaults(doc, collection);
|
|
271
272
|
// decode the buffer and store it to DB
|
|
272
273
|
if (this.bufferField) {
|
|
273
|
-
|
|
274
|
+
return (decodeBufferObj(_.cloneDeep(doc), this.bufferField));
|
|
274
275
|
}
|
|
275
|
-
|
|
276
|
+
else {
|
|
277
|
+
return doc;
|
|
278
|
+
}
|
|
279
|
+
}));
|
|
276
280
|
// config fix to be removed after ts-proto is used
|
|
277
281
|
documents = this.convertSecondsNanosToms(documents);
|
|
278
282
|
if (this.isGraphDB(this.db)) {
|
|
@@ -308,9 +312,7 @@ class ResourcesAPIBase {
|
|
|
308
312
|
}
|
|
309
313
|
}
|
|
310
314
|
if (_.isArray(createVertexResp)) {
|
|
311
|
-
|
|
312
|
-
result.push(eachVertexResp);
|
|
313
|
-
}
|
|
315
|
+
createVertexResp.forEach((eachVertexResp) => result.push(eachVertexResp));
|
|
314
316
|
}
|
|
315
317
|
else {
|
|
316
318
|
result.push(createVertexResp);
|
|
@@ -326,9 +328,7 @@ class ResourcesAPIBase {
|
|
|
326
328
|
}
|
|
327
329
|
result = await this.db.insert(collection, this.bufferField ? toInsert : documents);
|
|
328
330
|
if (!_.isEmpty(checkReqFieldResult)) {
|
|
329
|
-
|
|
330
|
-
result.push(reqFieldResult);
|
|
331
|
-
}
|
|
331
|
+
checkReqFieldResult.forEach((reqFieldResult) => result.push(reqFieldResult));
|
|
332
332
|
}
|
|
333
333
|
// config fix to be removed after ts-proto is used
|
|
334
334
|
result = this.convertmsToSecondsNanos(result);
|
|
@@ -354,8 +354,8 @@ class ResourcesAPIBase {
|
|
|
354
354
|
* @param documents
|
|
355
355
|
*/
|
|
356
356
|
checkRequiredFields(requiredFields, documents, result) {
|
|
357
|
-
|
|
358
|
-
|
|
357
|
+
documents.forEach((document) => {
|
|
358
|
+
requiredFields.forEach((eachField) => {
|
|
359
359
|
const isArray = _.isArray(eachField);
|
|
360
360
|
if (!document[eachField]) {
|
|
361
361
|
result.push({
|
|
@@ -373,8 +373,8 @@ class ResourcesAPIBase {
|
|
|
373
373
|
});
|
|
374
374
|
documents = documents.filter(doc => doc.id != document.id);
|
|
375
375
|
}
|
|
376
|
-
}
|
|
377
|
-
}
|
|
376
|
+
});
|
|
377
|
+
});
|
|
378
378
|
return { documents, result };
|
|
379
379
|
}
|
|
380
380
|
/**
|
|
@@ -441,10 +441,13 @@ class ResourcesAPIBase {
|
|
|
441
441
|
*/
|
|
442
442
|
async upsert(documents, events, resourceName) {
|
|
443
443
|
let result = [];
|
|
444
|
+
let createDocsResult = [];
|
|
445
|
+
let updateDocsResult = [];
|
|
444
446
|
try {
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
447
|
+
let createDocuments = [];
|
|
448
|
+
let updateDocuments = [];
|
|
449
|
+
let dispatch = [];
|
|
450
|
+
dispatch = await Promise.all(documents.map(async (doc) => {
|
|
448
451
|
decodeBufferObj(doc, this.bufferField);
|
|
449
452
|
let foundDocs;
|
|
450
453
|
if (doc && doc.id) {
|
|
@@ -458,22 +461,32 @@ class ResourcesAPIBase {
|
|
|
458
461
|
if (_.isEmpty(foundDocs)) {
|
|
459
462
|
// insert
|
|
460
463
|
setDefaults(doc, this.collectionName);
|
|
464
|
+
createDocuments.push(doc);
|
|
461
465
|
eventName = 'Created';
|
|
462
466
|
}
|
|
463
467
|
else {
|
|
464
468
|
// update
|
|
465
469
|
const dbDoc = foundDocs[0];
|
|
466
470
|
updateMetadata(dbDoc.meta, doc);
|
|
471
|
+
updateDocuments.push(doc);
|
|
467
472
|
eventName = 'Modified';
|
|
468
473
|
}
|
|
469
|
-
|
|
474
|
+
if (events) {
|
|
475
|
+
return events.emit(`${resourceName}${eventName}`, doc);
|
|
476
|
+
}
|
|
477
|
+
}));
|
|
478
|
+
if (createDocuments.length > 0) {
|
|
479
|
+
createDocuments = this.convertSecondsNanosToms(createDocuments);
|
|
480
|
+
createDocsResult = await this.create(createDocuments);
|
|
470
481
|
}
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
482
|
+
if (updateDocuments.length > 0) {
|
|
483
|
+
updateDocuments = this.convertSecondsNanosToms(updateDocuments);
|
|
484
|
+
updateDocsResult = await this.update(updateDocuments);
|
|
485
|
+
}
|
|
486
|
+
result = _.union(createDocuments, updateDocuments);
|
|
475
487
|
// config fix to be removed after ts-proto is used
|
|
476
488
|
result = this.convertmsToSecondsNanos(result);
|
|
489
|
+
await Promise.all(dispatch);
|
|
477
490
|
if (this.bufferField) {
|
|
478
491
|
return _.map(result, doc => encodeMsgObj(doc, this.bufferField));
|
|
479
492
|
}
|
|
@@ -499,11 +512,9 @@ class ResourcesAPIBase {
|
|
|
499
512
|
let updateResponse = [];
|
|
500
513
|
try {
|
|
501
514
|
const collectionName = this.collectionName;
|
|
502
|
-
let docsWithUpMetadata =
|
|
503
|
-
for (let i = 0; i < documents.length; i += 1) {
|
|
504
|
-
let doc = documents[i];
|
|
515
|
+
let docsWithUpMetadata = await Promise.all(documents.map(async (doc) => {
|
|
505
516
|
if (this.bufferField) {
|
|
506
|
-
doc = decodeBufferObj(_.cloneDeep(
|
|
517
|
+
doc = decodeBufferObj(_.cloneDeep(doc), this.bufferField);
|
|
507
518
|
}
|
|
508
519
|
const foundDocs = await this.db.find(collectionName, { id: doc.id });
|
|
509
520
|
let dbDoc;
|
|
@@ -516,7 +527,7 @@ class ResourcesAPIBase {
|
|
|
516
527
|
}
|
|
517
528
|
if (this.isGraphDB(this.db)) {
|
|
518
529
|
const db = this.db;
|
|
519
|
-
|
|
530
|
+
await Promise.all(this.edgeCfg.map(async (eachEdgeCfg) => {
|
|
520
531
|
const toIDkey = eachEdgeCfg.to;
|
|
521
532
|
let modified_to_idValues = doc[toIDkey];
|
|
522
533
|
let db_to_idValues = dbDoc[toIDkey];
|
|
@@ -528,7 +539,7 @@ class ResourcesAPIBase {
|
|
|
528
539
|
}
|
|
529
540
|
// delete and recreate only if there is a difference in references
|
|
530
541
|
if (!_.isEqual(modified_to_idValues, db_to_idValues)) {
|
|
531
|
-
//
|
|
542
|
+
// 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
543
|
const fromIDkey = eachEdgeCfg.from;
|
|
533
544
|
const from_id = doc[fromIDkey];
|
|
534
545
|
let fromVerticeName = collectionName;
|
|
@@ -541,32 +552,26 @@ class ResourcesAPIBase {
|
|
|
541
552
|
const edgeCollectionName = eachEdgeCfg.edgeName;
|
|
542
553
|
let outgoingEdges = await db.getOutEdges(edgeCollectionName, `${collectionName}/${dbDoc.id}`);
|
|
543
554
|
if (_.isArray(outgoingEdges.edges)) {
|
|
544
|
-
|
|
545
|
-
await db.removeEdge(edgeCollectionName, outgoingEdge._id);
|
|
546
|
-
}
|
|
555
|
+
await Promise.all(outgoingEdges.edges.map((outgoingEdge) => db.removeEdge(edgeCollectionName, outgoingEdge._id)));
|
|
547
556
|
}
|
|
548
557
|
let incomingEdges = await db.getInEdges(edgeCollectionName, `${collectionName}/${dbDoc.id}`);
|
|
549
558
|
if (_.isArray(incomingEdges.edges)) {
|
|
550
|
-
|
|
551
|
-
await db.removeEdge(edgeCollectionName, incomingEdge._id);
|
|
552
|
-
}
|
|
559
|
+
await Promise.all(incomingEdges.edges.map((incomingEdge) => db.removeEdge(edgeCollectionName, incomingEdge._id)));
|
|
553
560
|
}
|
|
554
561
|
// Create new edges
|
|
555
562
|
if (from_id && modified_to_idValues) {
|
|
556
563
|
if (_.isArray(modified_to_idValues)) {
|
|
557
|
-
|
|
558
|
-
await db.createEdge(eachEdgeCfg.edgeName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${toID}`);
|
|
559
|
-
}
|
|
564
|
+
await Promise.all(modified_to_idValues.map((toID) => db.createEdge(eachEdgeCfg.edgeName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${toID}`)));
|
|
560
565
|
}
|
|
561
566
|
else {
|
|
562
567
|
await db.createEdge(edgeCollectionName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${modified_to_idValues}`);
|
|
563
568
|
}
|
|
564
569
|
}
|
|
565
570
|
}
|
|
566
|
-
}
|
|
571
|
+
}));
|
|
567
572
|
}
|
|
568
|
-
|
|
569
|
-
}
|
|
573
|
+
return doc;
|
|
574
|
+
}));
|
|
570
575
|
// config fix to be removed after ts-proto is used
|
|
571
576
|
docsWithUpMetadata = this.convertSecondsNanosToms(docsWithUpMetadata);
|
|
572
577
|
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,56 @@ 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(call.request.search)) {
|
|
74
|
-
docs.operation_status = {
|
|
75
|
-
code: 404,
|
|
76
|
-
message: 'Full-text search is not implemented'
|
|
77
|
-
};
|
|
78
|
-
return docs;
|
|
79
|
-
}
|
|
80
71
|
try {
|
|
81
72
|
let objectEntities = [];
|
|
82
73
|
let sort;
|
|
83
|
-
if (!_.isEmpty(
|
|
74
|
+
if (!_.isEmpty(request.sort)) {
|
|
84
75
|
sort = {};
|
|
85
|
-
_.forEach(
|
|
76
|
+
_.forEach(request.sort, (s) => {
|
|
86
77
|
switch (s.order) {
|
|
87
|
-
case
|
|
88
|
-
case 1:
|
|
78
|
+
case resource_base_1.Sort_SortOrder.ASCENDING:
|
|
89
79
|
sort[s.field] = 'ASC';
|
|
90
80
|
break;
|
|
91
|
-
case
|
|
92
|
-
case 'DESCENDING':
|
|
81
|
+
case resource_base_1.Sort_SortOrder.DESCENDING:
|
|
93
82
|
sort[s.field] = 'DESC';
|
|
94
83
|
break;
|
|
95
|
-
case 'UNSORTED':
|
|
96
|
-
case 0:
|
|
97
|
-
default:
|
|
98
|
-
break;
|
|
99
84
|
}
|
|
100
85
|
});
|
|
101
86
|
}
|
|
102
|
-
let limit =
|
|
103
|
-
if (
|
|
87
|
+
let limit = request.limit;
|
|
88
|
+
if (request.limit <= 0) {
|
|
104
89
|
limit = 1000;
|
|
105
90
|
}
|
|
106
|
-
const offset =
|
|
91
|
+
const offset = request.offset;
|
|
107
92
|
let filter = {};
|
|
108
93
|
// convert the filter from proto structure (field, operation, value and operand) to {field: value } mapping
|
|
109
|
-
if (!_.isEmpty(
|
|
110
|
-
filter = (0, index_1.toObject)(
|
|
94
|
+
if (!_.isEmpty(request.filters)) {
|
|
95
|
+
filter = (0, index_1.toObject)(request.filters);
|
|
111
96
|
}
|
|
112
97
|
const field = {};
|
|
113
|
-
_.forEach(
|
|
98
|
+
_.forEach(request.field, (f) => {
|
|
114
99
|
if (f.include) {
|
|
115
100
|
field[f.name] = 1;
|
|
116
101
|
return;
|
|
117
102
|
}
|
|
118
103
|
field[f.name] = 0;
|
|
119
104
|
});
|
|
120
|
-
const customQueries =
|
|
121
|
-
const customArgs =
|
|
122
|
-
|
|
105
|
+
const customQueries = request.custom_queries;
|
|
106
|
+
const customArgs = request.custom_arguments || {};
|
|
107
|
+
const search = request?.search;
|
|
108
|
+
objectEntities = (await this.resourceapi.read(filter, limit, offset, sort, field, customQueries, customArgs, search)) || [];
|
|
123
109
|
let readResponseWithStatus = [];
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
docs = {
|
|
110
|
+
objectEntities.map((object) => readResponseWithStatus.push({
|
|
111
|
+
payload: object,
|
|
112
|
+
status: {
|
|
113
|
+
code: 200,
|
|
114
|
+
message: 'success'
|
|
115
|
+
}
|
|
116
|
+
}));
|
|
117
|
+
return {
|
|
134
118
|
items: readResponseWithStatus,
|
|
135
119
|
total_count: objectEntities.length,
|
|
136
120
|
operation_status: {
|
|
@@ -138,7 +122,6 @@ class ServiceBase {
|
|
|
138
122
|
message: 'success'
|
|
139
123
|
}
|
|
140
124
|
};
|
|
141
|
-
return docs;
|
|
142
125
|
}
|
|
143
126
|
catch (e) {
|
|
144
127
|
this.logger.error('Error caught while processing read request', { code: e.code, message: e.message, stack: e.stack });
|
|
@@ -246,13 +229,11 @@ class ServiceBase {
|
|
|
246
229
|
/**
|
|
247
230
|
* Endpoint create.
|
|
248
231
|
* Inserts resources.
|
|
249
|
-
* @param call contains a list of resources to be created
|
|
250
|
-
* @param context
|
|
251
232
|
*/
|
|
252
|
-
async create(
|
|
233
|
+
async create(request, context) {
|
|
253
234
|
let docs = {};
|
|
254
235
|
try {
|
|
255
|
-
const createDocs = _.cloneDeep(
|
|
236
|
+
const createDocs = _.cloneDeep(request.items);
|
|
256
237
|
let createResponse = await this.resourceapi.create(createDocs);
|
|
257
238
|
const dispatch = [];
|
|
258
239
|
const events = this.events.entity;
|
|
@@ -262,7 +243,7 @@ class ServiceBase {
|
|
|
262
243
|
dispatch.push(events.emit(`${this.name}Created`, item));
|
|
263
244
|
}
|
|
264
245
|
});
|
|
265
|
-
await dispatch;
|
|
246
|
+
await Promise.all(dispatch);
|
|
266
247
|
}
|
|
267
248
|
let createResponseWithStatus = this.generateResponseWithStatus(createResponse, createDocs);
|
|
268
249
|
const operation_status = {
|
|
@@ -275,41 +256,41 @@ class ServiceBase {
|
|
|
275
256
|
}
|
|
276
257
|
catch (e) {
|
|
277
258
|
this.logger.error('Error caught while processing create request', { code: e.code, message: e.message, stack: e.stack });
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
259
|
+
return {
|
|
260
|
+
...docs,
|
|
261
|
+
operation_status: {
|
|
262
|
+
code: e.code,
|
|
263
|
+
message: e.details ? e.details : e.message
|
|
264
|
+
}
|
|
281
265
|
};
|
|
282
|
-
return docs;
|
|
283
266
|
}
|
|
284
267
|
}
|
|
285
268
|
/**
|
|
286
269
|
* Endpoint delete.
|
|
287
270
|
* Removes resources specified by id or all resources.
|
|
288
|
-
* @param call contains list of resource IDs to be deleted
|
|
289
|
-
* @param context
|
|
290
271
|
*/
|
|
291
|
-
async delete(
|
|
272
|
+
async delete(request, context) {
|
|
292
273
|
let deleteResponse = { status: [], operation_status: {} };
|
|
293
274
|
try {
|
|
294
275
|
const events = this.events.entity;
|
|
295
276
|
let docs;
|
|
296
|
-
if (
|
|
277
|
+
if (request.collection) {
|
|
297
278
|
docs = await this.resourceapi.deleteCollection();
|
|
298
279
|
this.logger.info(`${this.name} deleted`);
|
|
299
280
|
}
|
|
300
281
|
else {
|
|
301
|
-
docs = await this.resourceapi.delete(
|
|
282
|
+
docs = await this.resourceapi.delete(request.ids);
|
|
302
283
|
}
|
|
303
284
|
// sanitize delete response for docs
|
|
304
|
-
|
|
285
|
+
docs.map((doc) => {
|
|
305
286
|
if (doc._id && doc._key && doc._rev) {
|
|
306
287
|
delete doc._id;
|
|
307
|
-
|
|
308
|
-
|
|
288
|
+
doc.id = doc._key;
|
|
289
|
+
;
|
|
309
290
|
delete doc._key;
|
|
310
291
|
delete doc._rev;
|
|
311
292
|
}
|
|
312
|
-
}
|
|
293
|
+
});
|
|
313
294
|
if (this.isEventsEnabled) {
|
|
314
295
|
const dispatch = [];
|
|
315
296
|
_.forEach(docs, (id) => {
|
|
@@ -320,17 +301,15 @@ class ServiceBase {
|
|
|
320
301
|
dispatch.push(events.emit(`${this.name}Deleted`, id));
|
|
321
302
|
}
|
|
322
303
|
});
|
|
323
|
-
await dispatch;
|
|
304
|
+
await Promise.all(dispatch);
|
|
324
305
|
}
|
|
325
306
|
// if complete collection is dropped then there are no input ids provided,
|
|
326
307
|
// iterate docs and put ids to call.request.ids
|
|
327
|
-
if (
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
call.request.ids.push(doc.id);
|
|
331
|
-
}
|
|
308
|
+
if (request.collection && (_.isNil(request.ids) || _.isEmpty(request.ids))) {
|
|
309
|
+
request.ids = [];
|
|
310
|
+
docs.map((doc) => request.ids.push(doc.id));
|
|
332
311
|
}
|
|
333
|
-
let statusArray = this.generateStatusResponse(docs,
|
|
312
|
+
let statusArray = this.generateStatusResponse(docs, request.ids, true);
|
|
334
313
|
const operation_status = {
|
|
335
314
|
code: 200,
|
|
336
315
|
message: 'success'
|
|
@@ -339,23 +318,23 @@ class ServiceBase {
|
|
|
339
318
|
}
|
|
340
319
|
catch (e) {
|
|
341
320
|
this.logger.error('Error caught while processing delete request', { code: e.code, message: e.message, stack: e.stack });
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
321
|
+
return {
|
|
322
|
+
...deleteResponse,
|
|
323
|
+
operation_status: {
|
|
324
|
+
code: e.code,
|
|
325
|
+
message: e.details ? e.details : e.message
|
|
326
|
+
}
|
|
345
327
|
};
|
|
346
|
-
return deleteResponse;
|
|
347
328
|
}
|
|
348
329
|
}
|
|
349
330
|
/**
|
|
350
331
|
* Endpoint update.
|
|
351
332
|
* Updates resources.
|
|
352
|
-
* @param call contains list of resources to be modified
|
|
353
|
-
* @param context
|
|
354
333
|
*/
|
|
355
|
-
async update(
|
|
334
|
+
async update(request, context) {
|
|
356
335
|
let docs = {};
|
|
357
336
|
try {
|
|
358
|
-
let updateDocs = _.cloneDeep(
|
|
337
|
+
let updateDocs = _.cloneDeep(request.items);
|
|
359
338
|
let updateResponse = await this.resourceapi.update(updateDocs);
|
|
360
339
|
if (this.isEventsEnabled) {
|
|
361
340
|
const dispatch = [];
|
|
@@ -365,7 +344,7 @@ class ServiceBase {
|
|
|
365
344
|
dispatch.push(events.emit(`${this.name}Modified`, update));
|
|
366
345
|
}
|
|
367
346
|
});
|
|
368
|
-
await dispatch;
|
|
347
|
+
await Promise.all(dispatch);
|
|
369
348
|
}
|
|
370
349
|
let responseWithStatus = this.generateResponseWithStatus(updateResponse, updateDocs);
|
|
371
350
|
const operation_status = {
|
|
@@ -378,23 +357,23 @@ class ServiceBase {
|
|
|
378
357
|
}
|
|
379
358
|
catch (e) {
|
|
380
359
|
this.logger.error('Error caught while processing update request', { code: e.code, message: e.message, stack: e.stack });
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
360
|
+
return {
|
|
361
|
+
...docs,
|
|
362
|
+
operation_status: {
|
|
363
|
+
code: e.code,
|
|
364
|
+
message: e.details ? e.details : e.message
|
|
365
|
+
}
|
|
384
366
|
};
|
|
385
|
-
return docs;
|
|
386
367
|
}
|
|
387
368
|
}
|
|
388
369
|
/**
|
|
389
370
|
* Endpoint upsert.
|
|
390
371
|
* Upserts resources.
|
|
391
|
-
* @param call contains list of resources to be created or modified
|
|
392
|
-
* @param context
|
|
393
372
|
*/
|
|
394
|
-
async upsert(
|
|
373
|
+
async upsert(request, context) {
|
|
395
374
|
let docs = {};
|
|
396
375
|
try {
|
|
397
|
-
let upsertDocs = _.cloneDeep(
|
|
376
|
+
let upsertDocs = _.cloneDeep(request.items);
|
|
398
377
|
let upsertResponse = await this.resourceapi.upsert(upsertDocs, this.events.entity, this.name);
|
|
399
378
|
let responseWithStatus = this.generateResponseWithStatus(upsertResponse, upsertDocs);
|
|
400
379
|
const operation_status = {
|
|
@@ -407,11 +386,13 @@ class ServiceBase {
|
|
|
407
386
|
}
|
|
408
387
|
catch (e) {
|
|
409
388
|
this.logger.error('Error caught while processing upsert request', { code: e.code, message: e.message, stack: e.stack });
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
389
|
+
return {
|
|
390
|
+
...docs,
|
|
391
|
+
operation_status: {
|
|
392
|
+
code: e.code,
|
|
393
|
+
message: e.details ? e.details : e.message
|
|
394
|
+
}
|
|
413
395
|
};
|
|
414
|
-
return docs;
|
|
415
396
|
}
|
|
416
397
|
}
|
|
417
398
|
}
|
|
@@ -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": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Restorecommerce Resource Base Interface",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"author": "n-fuse GmbH",
|
|
@@ -17,32 +17,34 @@
|
|
|
17
17
|
"interface"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@restorecommerce/chassis-srv": "^
|
|
21
|
-
"@restorecommerce/grpc-client": "^0.
|
|
22
|
-
"@restorecommerce/kafka-client": "^0.
|
|
23
|
-
"@restorecommerce/
|
|
24
|
-
"@restorecommerce/service-config": "^0.
|
|
20
|
+
"@restorecommerce/chassis-srv": "^1.1.0",
|
|
21
|
+
"@restorecommerce/grpc-client": "^1.0.1",
|
|
22
|
+
"@restorecommerce/kafka-client": "^1.0.2",
|
|
23
|
+
"@restorecommerce/rc-grpc-clients": "^1.1.0",
|
|
24
|
+
"@restorecommerce/service-config": "^1.0.1",
|
|
25
25
|
"lodash": "^4.17.21",
|
|
26
|
-
"redis": "^4.
|
|
26
|
+
"redis": "^4.3.1"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@types/lodash": "^4.14.
|
|
30
|
-
"@types/mocha": "^
|
|
29
|
+
"@types/lodash": "^4.14.186",
|
|
30
|
+
"@types/mocha": "^10.0.0",
|
|
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.39.0",
|
|
33
|
+
"@typescript-eslint/eslint-plugin-tslint": "^5.39.0",
|
|
34
|
+
"@typescript-eslint/parser": "^5.39.0",
|
|
35
|
+
"arangojs": "^7.8.0",
|
|
35
36
|
"cross-env": "^7.0.3",
|
|
36
|
-
"eslint": "^8.
|
|
37
|
+
"eslint": "^8.24.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
|
-
"
|
|
44
|
+
"sleep": "^6.3.0",
|
|
45
|
+
"ts-node": "^10.9.1",
|
|
44
46
|
"tslint": "^6.1.3",
|
|
45
|
-
"typescript": "^4.
|
|
47
|
+
"typescript": "^4.8.4"
|
|
46
48
|
},
|
|
47
49
|
"scripts": {
|
|
48
50
|
"test": "npm run lint && nyc npm run mocha",
|
|
@@ -54,6 +56,7 @@
|
|
|
54
56
|
"mocha-debug": "cross-env NODE_ENV=test; mocha --full-trace --inspect-brk",
|
|
55
57
|
"lcov-report": "nyc report --reporter=lcov",
|
|
56
58
|
"build:tsc": "tsc -d",
|
|
59
|
+
"build:tsc:watch": "tsc -d --watch",
|
|
57
60
|
"build:clean": "rimraf lib",
|
|
58
61
|
"build": "npm-run-all lint build:clean build:tsc"
|
|
59
62
|
},
|