@restorecommerce/resource-base-interface 0.1.0 → 0.2.2
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 +21 -0
- package/lib/core/GraphResourcesServiceBase.d.ts +3 -1
- package/lib/core/GraphResourcesServiceBase.js +104 -68
- package/lib/core/GraphResourcesServiceBase.js.map +1 -1
- package/lib/core/ResourcesAPI.d.ts +3 -2
- package/lib/core/ResourcesAPI.js +136 -86
- package/lib/core/ResourcesAPI.js.map +1 -1
- package/lib/core/ServiceBase.d.ts +2 -0
- package/lib/core/ServiceBase.js +237 -57
- package/lib/core/ServiceBase.js.map +1 -1
- package/lib/core/interfaces.d.ts +34 -1
- package/lib/core/interfaces.js +29 -0
- package/lib/core/interfaces.js.map +1 -1
- package/lib/index.d.ts +9 -2
- package/lib/index.js +167 -63
- package/lib/index.js.map +1 -1
- package/package.json +17 -17
- package/test.js +16 -0
- package/testFilter.js +221 -0
package/lib/core/ResourcesAPI.js
CHANGED
|
@@ -113,7 +113,7 @@ class ResourcesAPIBase {
|
|
|
113
113
|
* @param {string} collectionName Name of database collection.
|
|
114
114
|
* @param {any} fieldHandlerConf The collection's field generators configuration.
|
|
115
115
|
*/
|
|
116
|
-
constructor(db, collectionName, fieldHandlerConf, edgeCfg, graphName) {
|
|
116
|
+
constructor(db, collectionName, fieldHandlerConf, edgeCfg, graphName, logger) {
|
|
117
117
|
this.db = db;
|
|
118
118
|
this.collectionName = collectionName;
|
|
119
119
|
this.edgeCfg = edgeCfg;
|
|
@@ -220,7 +220,15 @@ class ResourcesAPIBase {
|
|
|
220
220
|
return __awaiter(this, void 0, void 0, function* () {
|
|
221
221
|
const collection = this.collectionName;
|
|
222
222
|
const toInsert = [];
|
|
223
|
+
let result = [];
|
|
223
224
|
try {
|
|
225
|
+
let result = [];
|
|
226
|
+
// check if all the required fields are present
|
|
227
|
+
if (this.requiredFields && this.requiredFields[this.resourceName]) {
|
|
228
|
+
const requiredFieldsResult = this.checkRequiredFields(this.requiredFields[this.resourceName], documents, result);
|
|
229
|
+
documents = requiredFieldsResult.documents;
|
|
230
|
+
result = requiredFieldsResult.result;
|
|
231
|
+
}
|
|
224
232
|
for (let i = 0; i < documents.length; i += 1) {
|
|
225
233
|
documents[i] = yield setDefaults(documents[i], collection);
|
|
226
234
|
// decode the buffer and store it to DB
|
|
@@ -228,56 +236,70 @@ class ResourcesAPIBase {
|
|
|
228
236
|
toInsert.push(decodeBufferObj(_.cloneDeep(documents[i]), this.bufferField));
|
|
229
237
|
}
|
|
230
238
|
}
|
|
231
|
-
// check if all the required fields are present
|
|
232
|
-
if (this.requiredFields && this.requiredFields[this.resourceName]) {
|
|
233
|
-
this.checkRequiredFields(this.requiredFields[this.resourceName], documents);
|
|
234
|
-
}
|
|
235
|
-
let result = [];
|
|
236
239
|
if (this.isGraphDB(this.db)) {
|
|
237
240
|
yield this.db.createGraphDB(this.graphName);
|
|
238
241
|
yield this.db.addVertexCollection(collection);
|
|
239
|
-
|
|
242
|
+
let createVertexResp = yield this.db.createVertex(collection, this.bufferField ? toInsert : documents);
|
|
240
243
|
for (let document of documents) {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
244
|
+
if (this.edgeCfg && _.isArray(this.edgeCfg) && this.edgeCfg.length > 0) {
|
|
245
|
+
for (let eachEdgeCfg of this.edgeCfg) {
|
|
246
|
+
const fromIDkey = eachEdgeCfg.from;
|
|
247
|
+
const from_id = document[fromIDkey];
|
|
248
|
+
const toIDkey = eachEdgeCfg.to;
|
|
249
|
+
const to_id = document[toIDkey];
|
|
250
|
+
// edges are created outbound, if it is inbound - check for direction
|
|
251
|
+
const direction = eachEdgeCfg.direction;
|
|
252
|
+
let fromVerticeName = collection;
|
|
253
|
+
let toVerticeName = eachEdgeCfg.toVerticeName;
|
|
254
|
+
if (direction === 'inbound') {
|
|
255
|
+
fromVerticeName = eachEdgeCfg.fromVerticeName;
|
|
256
|
+
toVerticeName = collection;
|
|
257
|
+
}
|
|
258
|
+
if (from_id && to_id) {
|
|
259
|
+
if (_.isArray(to_id)) {
|
|
260
|
+
for (let toID of to_id) {
|
|
261
|
+
yield this.db.createEdge(eachEdgeCfg.edgeName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${toID}`);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
yield this.db.createEdge(eachEdgeCfg.edgeName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${to_id}`);
|
|
261
266
|
}
|
|
262
|
-
continue;
|
|
263
267
|
}
|
|
264
|
-
yield this.db.createEdge(eachEdgeCfg.edgeName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${to_id}`);
|
|
265
268
|
}
|
|
266
269
|
}
|
|
267
270
|
}
|
|
268
|
-
|
|
271
|
+
if (_.isArray(createVertexResp)) {
|
|
272
|
+
for (let eachVertexResp of createVertexResp) {
|
|
273
|
+
result.push(eachVertexResp);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
result.push(createVertexResp);
|
|
278
|
+
}
|
|
269
279
|
return result;
|
|
270
280
|
}
|
|
271
281
|
else {
|
|
272
|
-
|
|
282
|
+
let checkReqFieldResult = [];
|
|
283
|
+
if (!_.isEmpty(result)) {
|
|
284
|
+
checkReqFieldResult = result;
|
|
285
|
+
}
|
|
286
|
+
result = yield this.db.insert(collection, this.bufferField ? toInsert : documents);
|
|
287
|
+
if (!_.isEmpty(checkReqFieldResult)) {
|
|
288
|
+
for (let reqFieldResult of checkReqFieldResult) {
|
|
289
|
+
result.push(reqFieldResult);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
return result;
|
|
273
293
|
}
|
|
274
294
|
}
|
|
275
295
|
catch (e) {
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
296
|
+
this.logger.error('Error creating documents', { error: e.message });
|
|
297
|
+
result.push({
|
|
298
|
+
error: true,
|
|
299
|
+
errorNum: e.code,
|
|
300
|
+
errorMessage: e.details ? e.details : e.message
|
|
301
|
+
});
|
|
302
|
+
return result;
|
|
281
303
|
}
|
|
282
304
|
});
|
|
283
305
|
}
|
|
@@ -289,20 +311,29 @@ class ResourcesAPIBase {
|
|
|
289
311
|
* @param requiredFields
|
|
290
312
|
* @param documents
|
|
291
313
|
*/
|
|
292
|
-
checkRequiredFields(requiredFields, documents) {
|
|
314
|
+
checkRequiredFields(requiredFields, documents, result) {
|
|
293
315
|
for (let document of documents) {
|
|
294
316
|
for (let eachField of requiredFields) {
|
|
295
317
|
const isArray = _.isArray(eachField);
|
|
296
318
|
if (!document[eachField]) {
|
|
297
|
-
|
|
298
|
-
|
|
319
|
+
result.push({
|
|
320
|
+
error: true,
|
|
321
|
+
errorNum: 400,
|
|
322
|
+
errorMessage: `Field ${eachField} is necessary for ${this.resourceName} for documentID ${document.id}`
|
|
323
|
+
});
|
|
324
|
+
documents = documents.filter(doc => doc.id != document.id);
|
|
299
325
|
}
|
|
300
326
|
if ((isArray && document[eachField].length == 0)) {
|
|
301
|
-
|
|
302
|
-
|
|
327
|
+
result.push({
|
|
328
|
+
error: true,
|
|
329
|
+
errorNum: 400,
|
|
330
|
+
errorMessage: `Field ${eachField} is necessary for ${this.resourceName} for documentID ${document.id}`
|
|
331
|
+
});
|
|
332
|
+
documents = documents.filter(doc => doc.id != document.id);
|
|
303
333
|
}
|
|
304
334
|
}
|
|
305
335
|
}
|
|
336
|
+
return { documents, result };
|
|
306
337
|
}
|
|
307
338
|
/**
|
|
308
339
|
* Removes documents found by id.
|
|
@@ -311,28 +342,32 @@ class ResourcesAPIBase {
|
|
|
311
342
|
*/
|
|
312
343
|
delete(ids) {
|
|
313
344
|
return __awaiter(this, void 0, void 0, function* () {
|
|
314
|
-
|
|
315
|
-
id: {
|
|
316
|
-
$in: ids
|
|
317
|
-
}
|
|
318
|
-
};
|
|
345
|
+
let deleteResponse = [];
|
|
319
346
|
try {
|
|
347
|
+
if (!_.isArray(ids)) {
|
|
348
|
+
ids = [ids];
|
|
349
|
+
}
|
|
320
350
|
if (this.isGraphDB(this.db)) {
|
|
321
351
|
// Modify the Ids to include documentHandle
|
|
322
352
|
if (ids.length > 0) {
|
|
323
353
|
ids = _.map(ids, (id) => {
|
|
324
354
|
return `${this.collectionName}/${id}`;
|
|
325
355
|
});
|
|
326
|
-
|
|
356
|
+
deleteResponse = yield this.db.removeVertex(this.collectionName, ids);
|
|
357
|
+
return deleteResponse;
|
|
327
358
|
}
|
|
328
359
|
}
|
|
329
|
-
yield this.db.delete(this.collectionName,
|
|
360
|
+
deleteResponse = yield this.db.delete(this.collectionName, ids);
|
|
361
|
+
return deleteResponse;
|
|
330
362
|
}
|
|
331
363
|
catch (err) {
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
364
|
+
this.logger.error('Error deleting documents', { error: err.message });
|
|
365
|
+
deleteResponse.push({
|
|
366
|
+
error: true,
|
|
367
|
+
errorNum: err.code,
|
|
368
|
+
errorMessage: err.details ? err.details : err.message
|
|
369
|
+
});
|
|
370
|
+
return deleteResponse;
|
|
336
371
|
}
|
|
337
372
|
});
|
|
338
373
|
}
|
|
@@ -368,16 +403,20 @@ class ResourcesAPIBase {
|
|
|
368
403
|
*/
|
|
369
404
|
upsert(documents, events, resourceName) {
|
|
370
405
|
return __awaiter(this, void 0, void 0, function* () {
|
|
406
|
+
let result = [];
|
|
371
407
|
try {
|
|
372
408
|
const dispatch = []; // CRUD events to be dispatched
|
|
373
409
|
for (let i = 0; i < documents.length; i += 1) {
|
|
374
410
|
let doc = documents[i];
|
|
375
411
|
decodeBufferObj(doc, this.bufferField);
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
412
|
+
let foundDocs;
|
|
413
|
+
if (doc && doc.id) {
|
|
414
|
+
foundDocs = yield this.db.find(this.collectionName, { id: doc.id }, {
|
|
415
|
+
fields: {
|
|
416
|
+
meta: 1
|
|
417
|
+
}
|
|
418
|
+
});
|
|
419
|
+
}
|
|
381
420
|
let eventName;
|
|
382
421
|
if (_.isEmpty(foundDocs)) {
|
|
383
422
|
// insert
|
|
@@ -392,7 +431,7 @@ class ResourcesAPIBase {
|
|
|
392
431
|
}
|
|
393
432
|
dispatch.push(events.emit(`${resourceName}${eventName}`, doc));
|
|
394
433
|
}
|
|
395
|
-
|
|
434
|
+
result = yield this.db.upsert(this.collectionName, documents);
|
|
396
435
|
yield dispatch;
|
|
397
436
|
if (this.bufferField) {
|
|
398
437
|
return _.map(result, doc => encodeMsgObj(doc, this.bufferField));
|
|
@@ -400,10 +439,13 @@ class ResourcesAPIBase {
|
|
|
400
439
|
return result;
|
|
401
440
|
}
|
|
402
441
|
catch (error) {
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
442
|
+
this.logger.error('Error upserting documents', { error: error.message });
|
|
443
|
+
result.push({
|
|
444
|
+
error: true,
|
|
445
|
+
errorNum: error.code,
|
|
446
|
+
errorMessage: error.details ? error.details : error.message
|
|
447
|
+
});
|
|
448
|
+
return result;
|
|
407
449
|
}
|
|
408
450
|
});
|
|
409
451
|
}
|
|
@@ -415,24 +457,24 @@ class ResourcesAPIBase {
|
|
|
415
457
|
*/
|
|
416
458
|
update(documents) {
|
|
417
459
|
return __awaiter(this, void 0, void 0, function* () {
|
|
460
|
+
let updateResponse = [];
|
|
418
461
|
try {
|
|
419
462
|
const collectionName = this.collectionName;
|
|
420
|
-
let
|
|
463
|
+
let docsWithUpMetadata = [];
|
|
421
464
|
for (let i = 0; i < documents.length; i += 1) {
|
|
422
465
|
let doc = documents[i];
|
|
423
466
|
if (this.bufferField) {
|
|
424
467
|
doc = decodeBufferObj(_.cloneDeep(documents[i]), this.bufferField);
|
|
425
468
|
}
|
|
426
|
-
const foundDocs = yield this.db.find(collectionName, { id: doc.id }
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
469
|
+
const foundDocs = yield this.db.find(collectionName, { id: doc.id });
|
|
470
|
+
let dbDoc;
|
|
471
|
+
if (foundDocs && foundDocs.length === 1) {
|
|
472
|
+
dbDoc = foundDocs[0];
|
|
473
|
+
doc = updateMetadata(dbDoc.meta, doc);
|
|
474
|
+
}
|
|
475
|
+
else {
|
|
476
|
+
dbDoc = doc; // doc not existing assigning to generate error message in response
|
|
433
477
|
}
|
|
434
|
-
const dbDoc = foundDocs[0];
|
|
435
|
-
doc = updateMetadata(dbDoc.meta, doc);
|
|
436
478
|
if (this.isGraphDB(this.db)) {
|
|
437
479
|
const db = this.db;
|
|
438
480
|
for (let eachEdgeCfg of this.edgeCfg) {
|
|
@@ -459,12 +501,16 @@ class ResourcesAPIBase {
|
|
|
459
501
|
}
|
|
460
502
|
const edgeCollectionName = eachEdgeCfg.edgeName;
|
|
461
503
|
let outgoingEdges = yield db.getOutEdges(edgeCollectionName, `${collectionName}/${dbDoc.id}`);
|
|
462
|
-
|
|
463
|
-
|
|
504
|
+
if (_.isArray(outgoingEdges.edges)) {
|
|
505
|
+
for (let outgoingEdge of outgoingEdges.edges) {
|
|
506
|
+
yield db.removeEdge(edgeCollectionName, outgoingEdge._id);
|
|
507
|
+
}
|
|
464
508
|
}
|
|
465
509
|
let incomingEdges = yield db.getInEdges(edgeCollectionName, `${collectionName}/${dbDoc.id}`);
|
|
466
|
-
|
|
467
|
-
|
|
510
|
+
if (_.isArray(incomingEdges.edges)) {
|
|
511
|
+
for (let incomingEdge of incomingEdges.edges) {
|
|
512
|
+
yield db.removeEdge(edgeCollectionName, incomingEdge._id);
|
|
513
|
+
}
|
|
468
514
|
}
|
|
469
515
|
// Create new edges
|
|
470
516
|
if (from_id && modified_to_idValues) {
|
|
@@ -472,26 +518,30 @@ class ResourcesAPIBase {
|
|
|
472
518
|
for (let toID of modified_to_idValues) {
|
|
473
519
|
yield db.createEdge(eachEdgeCfg.edgeName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${toID}`);
|
|
474
520
|
}
|
|
475
|
-
continue;
|
|
476
521
|
}
|
|
477
|
-
|
|
522
|
+
else {
|
|
523
|
+
yield db.createEdge(edgeCollectionName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${modified_to_idValues}`);
|
|
524
|
+
}
|
|
478
525
|
}
|
|
479
526
|
}
|
|
480
527
|
}
|
|
481
528
|
}
|
|
482
|
-
|
|
529
|
+
docsWithUpMetadata.push(doc);
|
|
483
530
|
}
|
|
484
|
-
|
|
531
|
+
updateResponse = yield this.db.update(collectionName, docsWithUpMetadata);
|
|
485
532
|
if (this.bufferField) {
|
|
486
|
-
|
|
533
|
+
updateResponse = _.map(updateResponse, patch => encodeMsgObj(patch, this.bufferField));
|
|
487
534
|
}
|
|
488
|
-
return
|
|
535
|
+
return updateResponse;
|
|
489
536
|
}
|
|
490
537
|
catch (e) {
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
538
|
+
this.logger.error('Error updating documents', { error: e.message });
|
|
539
|
+
updateResponse.push({
|
|
540
|
+
error: true,
|
|
541
|
+
errorNum: e.code,
|
|
542
|
+
errorMessage: e.message
|
|
543
|
+
});
|
|
544
|
+
return updateResponse;
|
|
495
545
|
}
|
|
496
546
|
});
|
|
497
547
|
}
|
|
@@ -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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"}
|