@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.
@@ -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
- result = yield this.db.createVertex(collection, this.bufferField ? toInsert : documents);
242
+ let createVertexResp = yield this.db.createVertex(collection, this.bufferField ? toInsert : documents);
240
243
  for (let document of documents) {
241
- for (let eachEdgeCfg of this.edgeCfg) {
242
- const fromIDkey = eachEdgeCfg.from;
243
- const from_id = document[fromIDkey];
244
- const toIDkey = eachEdgeCfg.to;
245
- const to_id = document[toIDkey];
246
- // edges are created outbound, if it is inbound - check for direction
247
- const direction = eachEdgeCfg.direction;
248
- let fromVerticeName = collection;
249
- let toVerticeName = eachEdgeCfg.toVerticeName;
250
- if (direction === 'inbound') {
251
- fromVerticeName = eachEdgeCfg.fromVerticeName;
252
- toVerticeName = collection;
253
- }
254
- if (fromVerticeName && toVerticeName) {
255
- yield this.db.addEdgeDefinition(eachEdgeCfg.edgeName, [fromVerticeName], [toVerticeName]);
256
- }
257
- if (from_id && to_id) {
258
- if (_.isArray(to_id)) {
259
- for (let toID of to_id) {
260
- yield this.db.createEdge(eachEdgeCfg.edgeName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${toID}`);
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
- result.push(result);
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
- yield this.db.insert(collection, this.bufferField ? toInsert : documents);
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
- if (e.code === 409 || (e.message &&
277
- e.message.includes('unique constraint violated'))) {
278
- throw new chassis_srv_1.errors.AlreadyExists('Item Already exists.');
279
- }
280
- throw { code: e.code, message: e.message, details: e.details };
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
- throw new chassis_srv_1.errors.InvalidArgument(`Field ${eachField} is necessary
298
- for ${this.resourceName}`);
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
- throw new chassis_srv_1.errors.InvalidArgument(`Field ${eachField} is necessary
302
- for ${this.resourceName}`);
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
- const filter = {
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
- return yield this.db.removeVertex(this.collectionName, ids);
356
+ deleteResponse = yield this.db.removeVertex(this.collectionName, ids);
357
+ return deleteResponse;
327
358
  }
328
359
  }
329
- yield this.db.delete(this.collectionName, filter);
360
+ deleteResponse = yield this.db.delete(this.collectionName, ids);
361
+ return deleteResponse;
330
362
  }
331
363
  catch (err) {
332
- if (err.code === 404 || (err.message &&
333
- err.message.includes('collection not found'))) {
334
- throw new chassis_srv_1.errors.NotFound('Collection or one or more items with the given IDs not found.');
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
- const foundDocs = yield this.db.find(this.collectionName, { id: doc.id }, {
377
- fields: {
378
- meta: 1
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
- const result = yield this.db.upsert(this.collectionName, documents);
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
- if (error.code === 404) {
404
- throw new chassis_srv_1.errors.NotFound('Can\'t find one or more items with the given IDs.');
405
- }
406
- throw { code: error.code, message: error.message, details: error.details };
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 patches = [];
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
- fields: {
428
- meta: 1
429
- }
430
- });
431
- if (_.isEmpty(foundDocs)) {
432
- throw { code: 404 };
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
- for (let outgoingEdge of outgoingEdges) {
463
- yield db.removeEdge(edgeCollectionName, outgoingEdge._id);
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
- for (let incomingEdge of incomingEdges) {
467
- yield db.removeEdge(edgeCollectionName, incomingEdge._id);
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
- yield db.createEdge(edgeCollectionName, null, `${fromVerticeName}/${from_id}`, `${toVerticeName}/${modified_to_idValues}`);
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
- patches.push(yield this.db.update(collectionName, { id: doc.id }, _.omitBy(doc, _.isNil)));
529
+ docsWithUpMetadata.push(doc);
483
530
  }
484
- patches = _.flatten(patches);
531
+ updateResponse = yield this.db.update(collectionName, docsWithUpMetadata);
485
532
  if (this.bufferField) {
486
- patches = _.map(patches, patch => encodeMsgObj(patch, this.bufferField));
533
+ updateResponse = _.map(updateResponse, patch => encodeMsgObj(patch, this.bufferField));
487
534
  }
488
- return patches;
535
+ return updateResponse;
489
536
  }
490
537
  catch (e) {
491
- if (e.code === 404) {
492
- throw new chassis_srv_1.errors.NotFound('Can\'t find one or more items with the given IDs.');
493
- }
494
- throw { code: e.code, message: e.message, details: e.details };
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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"}
@@ -26,6 +26,8 @@ export declare class ServiceBase {
26
26
  * @param context
27
27
  */
28
28
  read(call: ServiceCall<ReadRequest>, context?: any): Promise<any>;
29
+ private generateStatusResponse;
30
+ private generateResponseWithStatus;
29
31
  /**
30
32
  * Endpoint create.
31
33
  * Inserts resources.