@or-sdk/contacts 3.2.2-beta.1754.0 → 3.2.2-beta.1758.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.
@@ -86,6 +86,7 @@ var types_contacts_api_1 = require("@onereach/types-contacts-api");
86
86
  var baseApi_1 = require("./baseApi");
87
87
  var utils_1 = require("../utils");
88
88
  var constants_1 = require("../constants");
89
+ var apiError_1 = require("../apiError");
89
90
  var ContactApi = (function (_super) {
90
91
  __extends(ContactApi, _super);
91
92
  function ContactApi(apiCall, batchProcessApi) {
@@ -143,16 +144,31 @@ var ContactApi = (function (_super) {
143
144
  };
144
145
  ContactApi.prototype.bulkCreateContacts = function (data) {
145
146
  return __awaiter(this, void 0, void 0, function () {
146
- var contacts, rest, contactsMaxSize, contactsChunks;
147
- return __generator(this, function (_a) {
148
- console.log('contacts: ', data.contacts.length);
149
- contacts = data.contacts, rest = __rest(data, ["contacts"]);
150
- contactsMaxSize = constants_1.REQUEST_PAYLOAD_MAX_BYTES - (0, utils_1.getObjectSizeInBytes)(__assign({}, rest));
151
- contactsChunks = (0, utils_1.chunkArrByMaxSize)(contacts, contactsMaxSize);
152
- console.log('chunks: ', contactsChunks.length);
153
- return [2, contactsChunks.length === 1
154
- ? this.createContactsInSingleBatch(data)
155
- : this.createContactsInMultiBatches(contactsChunks, rest)];
147
+ var contacts, rest, contactsMaxSize, contactsChunks, results, _a;
148
+ return __generator(this, function (_b) {
149
+ switch (_b.label) {
150
+ case 0:
151
+ console.log('contacts: ', data.contacts.length);
152
+ contacts = data.contacts, rest = __rest(data, ["contacts"]);
153
+ contactsMaxSize = constants_1.REQUEST_PAYLOAD_MAX_BYTES - (0, utils_1.getObjectSizeInBytes)(__assign({}, rest));
154
+ contactsChunks = (0, utils_1.chunkArrByMaxSize)(contacts, contactsMaxSize);
155
+ console.log('chunks: ', contactsChunks.length);
156
+ if (!(contactsChunks.length === 1)) return [3, 2];
157
+ return [4, this.createContactsInSingleBatch(data)];
158
+ case 1:
159
+ _a = [_b.sent()];
160
+ return [3, 4];
161
+ case 2: return [4, this.createContactsInMultiBatches(contactsChunks, rest)];
162
+ case 3:
163
+ _a = _b.sent();
164
+ _b.label = 4;
165
+ case 4:
166
+ results = _a;
167
+ return [2, results.reduce(function (acc, _a) {
168
+ var contactsIds = _a.contactsIds;
169
+ return (__spreadArray(__spreadArray([], acc, true), contactsIds, true));
170
+ }, [])];
171
+ }
156
172
  });
157
173
  });
158
174
  };
@@ -236,11 +252,9 @@ var ContactApi = (function (_super) {
236
252
  });
237
253
  });
238
254
  };
239
- ContactApi.prototype.createContactsInSingleBatch = function (data, repeats) {
240
- if (repeats === void 0) { repeats = 0; }
255
+ ContactApi.prototype.createContactsInSingleBatch = function (data) {
241
256
  return __awaiter(this, void 0, void 0, function () {
242
257
  var s, batchProcess, batchProcessResult, e;
243
- var _this = this;
244
258
  return __generator(this, function (_a) {
245
259
  switch (_a.label) {
246
260
  case 0:
@@ -255,23 +269,19 @@ var ContactApi = (function (_super) {
255
269
  return [4, this.polling(batchProcess.id)];
256
270
  case 2:
257
271
  batchProcessResult = _a.sent();
258
- if (repeats === 2) {
259
- throw new Error('Can not complete contacts creation batch');
260
- }
261
- if (!(batchProcessResult.status === types_contacts_api_1.BatchProcessStatus.failed)) return [3, 4];
262
- return [4, (0, utils_1.debouncePromise)(function () { return _this.createContactsInSingleBatch(data, repeats + 1); }, 10000)];
263
- case 3: return [2, _a.sent()];
264
- case 4:
265
272
  e = performance.now();
266
273
  console.log('single batch time: ', (e - s) / 1000, 's');
267
- return [2, batchProcessResult.results.flatMap(function (i) { return JSON.parse(i); })];
274
+ return [2, {
275
+ batchId: batchProcess.id,
276
+ contactsIds: batchProcessResult.results.flatMap(function (i) { return JSON.parse(i); }),
277
+ }];
268
278
  }
269
279
  });
270
280
  });
271
281
  };
272
282
  ContactApi.prototype.createContactsInMultiBatches = function (contactsChunks, data) {
273
283
  return __awaiter(this, void 0, void 0, function () {
274
- var batchPromises, promisesBatchSize, results, i, s, chunk, chunkResults, e;
284
+ var batchPromises, promisesBatchSize, results, i, s, chunk, chunkResults, e_1, e;
275
285
  var _this = this;
276
286
  return __generator(this, function (_a) {
277
287
  switch (_a.label) {
@@ -287,20 +297,34 @@ var ContactApi = (function (_super) {
287
297
  i = 0;
288
298
  _a.label = 1;
289
299
  case 1:
290
- if (!(i < batchPromises.length)) return [3, 4];
300
+ if (!(i < batchPromises.length)) return [3, 7];
291
301
  s = performance.now();
302
+ _a.label = 2;
303
+ case 2:
304
+ _a.trys.push([2, 4, , 5]);
292
305
  chunk = batchPromises.slice(i, i + promisesBatchSize);
293
306
  return [4, Promise.all(chunk.map(function (p) { return p(); }))];
294
- case 2:
307
+ case 3:
295
308
  chunkResults = _a.sent();
296
- results.push.apply(results, chunkResults.reduce(function (acc, r) { return (__spreadArray(__spreadArray([], acc, true), r, true)); }, []));
309
+ results.push.apply(results, chunkResults);
310
+ return [3, 5];
311
+ case 4:
312
+ e_1 = _a.sent();
313
+ if (e_1 instanceof apiError_1.CreateContactsBatchError) {
314
+ e_1.processedBatchIds = results.map(function (_a) {
315
+ var batchId = _a.batchId;
316
+ return batchId;
317
+ });
318
+ }
319
+ throw e_1;
320
+ case 5:
297
321
  e = performance.now();
298
322
  console.log('awaiting ', promisesBatchSize, ' batches: ', (e - s) / 1000, 's');
299
- _a.label = 3;
300
- case 3:
323
+ _a.label = 6;
324
+ case 6:
301
325
  i += promisesBatchSize;
302
326
  return [3, 1];
303
- case 4: return [2, results];
327
+ case 7: return [2, results];
304
328
  }
305
329
  });
306
330
  });
@@ -308,7 +332,7 @@ var ContactApi = (function (_super) {
308
332
  ContactApi.prototype.polling = function (batchId, repeats) {
309
333
  if (repeats === void 0) { repeats = 0; }
310
334
  return __awaiter(this, void 0, void 0, function () {
311
- var batchProcessState, e_1;
335
+ var batchProcess, e_2;
312
336
  var _this = this;
313
337
  return __generator(this, function (_a) {
314
338
  switch (_a.label) {
@@ -316,17 +340,21 @@ var ContactApi = (function (_super) {
316
340
  _a.trys.push([0, 2, , 3]);
317
341
  return [4, (0, utils_1.debouncePromise)(function () { return _this.batchProcessApi.getBatchProcess(batchId); }, 1000)];
318
342
  case 1:
319
- batchProcessState = _a.sent();
343
+ batchProcess = _a.sent();
320
344
  return [3, 3];
321
345
  case 2:
322
- e_1 = _a.sent();
346
+ e_2 = _a.sent();
323
347
  if (repeats < constants_1.FAILED_REQUEST_REPEATS) {
324
348
  return [2, this.polling(batchId, repeats + 1)];
325
349
  }
326
- throw e_1;
327
- case 3: return [2, batchProcessState.status === types_contacts_api_1.BatchProcessStatus.pending
328
- ? this.polling(batchId)
329
- : batchProcessState];
350
+ throw new apiError_1.CreateContactsBatchError(e_2.message, batchId);
351
+ case 3:
352
+ if (batchProcess.status === types_contacts_api_1.BatchProcessStatus.failed) {
353
+ throw new apiError_1.CreateContactsBatchError('Could not complete batch process', batchId, batchProcess.messages);
354
+ }
355
+ return [2, batchProcess.status === types_contacts_api_1.BatchProcessStatus.pending
356
+ ? this.polling(batchId)
357
+ : batchProcess];
330
358
  }
331
359
  });
332
360
  });
@@ -1 +1 @@
1
- {"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAiBsC;AAEtC,qCAAoC;AAEpC,kCAAoF;AAEpF,0CAA6G;AAE7G;IAAwC,8BAAO;IAC7C,oBACqB,OAAgD,EAC3D,eAAgC;QAF1C,YAIE,kBAAM,OAAO,CAAC,SACf;QAJoB,aAAO,GAAP,OAAO,CAAyC;QAC3D,qBAAe,GAAf,eAAe,CAAiB;QAKzB,iBAAW,GAAG,SAAS,CAAC;;IAFzC,CAAC;IASD,+BAAU,GAAV,UAAW,EAAU,EAAE,MAAwB;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,CAAE;YAClC,MAAM,QAAA;SACP,CAAC,CAAC;IACL,CAAC;IAMD,gCAAW,GAAX,UAAY,IAA2B;QAA3B,qBAAA,EAAA,SAA2B;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,UAAO;YACjC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAOD,kCAAa,GAAb,UAAc,EAAU,EAAE,IAAsB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,CAAE;YAClC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAOD,kCAAa,GAAb,UAAc,EAAU,EAAE,IAA4B;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,CAAE;YAClC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAOD,gCAAW,GAAX,UAAY,IAAiC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,sCAA0B,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;YACzF,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,CAAE;YAC5B,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAMD,kCAAa,GAAb,UAAc,IAAsB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,CAAE;YAC5B,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAKK,uCAAkB,GAAxB,UAAyB,IAA+B;;;;gBAEtD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxC,QAAQ,GAAc,IAAI,SAAlB,EAAK,IAAI,UAAK,IAAI,EAA5B,YAAqB,CAAF,CAAU;gBAC7B,eAAe,GAAG,qCAAyB,GAAG,IAAA,4BAAoB,eAAM,IAAI,EAAG,CAAC;gBAChF,cAAc,GAAG,IAAA,yBAAiB,EAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAEpE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;gBAE/C,WAAO,cAAc,CAAC,MAAM,KAAK,CAAC;wBAChC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;wBACxC,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,cAAc,EAAE,IAAI,CAAC,EAAC;;;KAC7D;IAcK,oCAAe,GAArB,UAAsB,IAA+B;;;;;;wBAC3C,QAAQ,GAAc,IAAI,SAAlB,EAAK,IAAI,UAAK,IAAI,EAA5B,YAAqB,CAAF,CAAU;wBAC7B,eAAe,GAAG,qCAAyB,GAAG,IAAA,4BAAoB,eAAM,IAAI,EAAG,CAAC;wBAChF,cAAc,GAAG,IAAA,yBAAiB,EAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;wBAE/C,WAAM,IAAI,CAAC,OAAO,CAA0B;gCAC/D,MAAM,EAAE,MAAM;gCACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,UAAO;gCACjC,IAAI,aACF,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,IACxB,IAAI,CACR;6BACF,CAAC,EAAA;;wBAPI,YAAY,GAAG,SAOnB;wBAEF,WAAO;gCACL,WAAW,EAAE,cAAc,CAAC,MAAM;gCAClC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM;gCACxC,OAAO,EAAE,YAAY,CAAC,EAAE;6BACzB,EAAC;;;;KACH;IAQD,kCAAa,GAAb,UAAc,EAAU,EAAE,IAA2B;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,WAAQ;YACxC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAOD,gCAAW,GAAX,UAAY,EAAU,EAAE,IAA0B;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,UAAO;YACvC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAMD,sCAAiB,GAAjB,UAAkB,IAA+B;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,UAAO;YACjC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAOD,kCAAa,GAAb,UAAc,EAAU,EAAE,IAA4B;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,UAAO;YACvC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAMD,wCAAmB,GAAnB,UAAoB,IAAiC;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,UAAO;YACjC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAEa,uCAAkB,GAAhC,UAAiC,IAAiC;;;;;4BAC3C,WAAM,IAAI,CAAC,OAAO,CAA0B;4BAC/D,MAAM,EAAE,QAAQ;4BAChB,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,UAAO;4BACjC,IAAI,MAAA;yBACL,CAAC,EAAA;;wBAJI,YAAY,GAAG,SAInB;wBACF,WAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAA;;wBAAnC,SAAmC,CAAC;;;;;KACrC;IAEa,gDAA2B,GAAzC,UAA0C,IAA+B,EAAE,OAAW;QAAX,wBAAA,EAAA,WAAW;;;;;;;wBAC9E,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;wBACP,WAAM,IAAI,CAAC,OAAO,CAA0B;gCAC/D,MAAM,EAAE,MAAM;gCACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,UAAO;gCACjC,IAAI,MAAA;6BACL,CAAC,EAAA;;wBAJI,YAAY,GAAG,SAInB;wBACyB,WAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAA;;wBAAxD,kBAAkB,GAAG,SAAmC;wBAC9D,IAAI,OAAO,KAAK,CAAC,EAAE;4BACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;yBAC7D;6BACG,CAAA,kBAAkB,CAAC,MAAM,KAAK,uCAAkB,CAAC,MAAM,CAAA,EAAvD,cAAuD;wBAClD,WAAM,IAAA,uBAAe,EAAC,cAAM,OAAA,KAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,EAAnD,CAAmD,EAAE,KAAK,CAAC,EAAA;4BAA9F,WAAO,SAAuF,EAAC;;wBAE3F,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;wBAE5B,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;wBACxD,WAAO,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAS,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAb,CAAa,CAAC,EAAC;;;;KACvE;IAEa,iDAA4B,GAA1C,UACE,cAAqC,EACrC,IAAiD;;;;;;;wBAE3C,aAAa,GAAG,cAAc;6BACjC,GAAG,CAAC,UAAC,aAAa,IAAK,OAAA;;gCAAY,WAAA,IAAI,CAAC,2BAA2B,YAClE,QAAQ,EAAE,aAAa,IACpB,IAAI,EACP,EAAA;;6BAAA,EAHsB,CAGtB,CAAC,CAAC;wBAEA,iBAAiB,GAAG,CAAC,CAAC;wBACtB,OAAO,GAAa,EAAE,CAAC;wBAEpB,CAAC,GAAG,CAAC;;;6BAAC,CAAA,CAAC,GAAG,aAAa,CAAC,MAAM,CAAA;wBAC/B,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;wBACtB,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC;wBACvC,WAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,EAAE,EAAH,CAAG,CAAC,CAAC,EAAA;;wBAAvD,YAAY,GAAG,SAAwC;wBAC7D,OAAO,CAAC,IAAI,OAAZ,OAAO,EAAS,YAAY,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,CAAC,IAAK,OAAA,iCAAK,GAAG,SAAK,CAAC,QAAE,EAAhB,CAAgB,EAAE,EAAE,CAAC,EAAE;wBACjE,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;wBAE5B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;;;wBAPzC,CAAC,IAAI,iBAAiB,CAAA;;4BAU9D,WAAO,OAAO,EAAC;;;;KAChB;IAKa,4BAAO,GAArB,UAAsB,OAAe,EAAE,OAAW;QAAX,wBAAA,EAAA,WAAW;;;;;;;;wBAG1B,WAAM,IAAA,uBAAe,EAAC,cAAM,OAAA,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,EAA7C,CAA6C,EAAE,IAAI,CAAC,EAAA;;wBAApG,iBAAiB,GAAG,SAAgF,CAAC;;;;wBAErG,IAAI,OAAO,GAAG,kCAAsB,EAAE;4BACpC,WAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,EAAC;yBAC3C;wBACD,MAAM,GAAC,CAAC;4BAGV,WAAO,iBAAiB,CAAC,MAAM,KAAK,uCAAkB,CAAC,OAAO;4BAC5D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;4BACvB,CAAC,CAAC,iBAAiB,EAAC;;;;KACvB;IACH,iBAAC;AAAD,CAAC,AApRD,CAAwC,iBAAO,GAoR9C"}
1
+ {"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ var __extends = (this && this.__extends) || (function () {
15
15
  };
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ApiError = void 0;
18
+ exports.CreateContactsBatchError = exports.ApiError = void 0;
19
19
  var ApiError = (function (_super) {
20
20
  __extends(ApiError, _super);
21
21
  function ApiError(statusCode, message, stack, translationKey) {
@@ -28,4 +28,16 @@ var ApiError = (function (_super) {
28
28
  return ApiError;
29
29
  }(Error));
30
30
  exports.ApiError = ApiError;
31
+ var CreateContactsBatchError = (function (_super) {
32
+ __extends(CreateContactsBatchError, _super);
33
+ function CreateContactsBatchError(message, failedBatchId, batchMessages, processedBatchIds) {
34
+ var _this = _super.call(this, message) || this;
35
+ _this.failedBatchId = failedBatchId;
36
+ _this.batchMessages = batchMessages;
37
+ _this.processedBatchIds = processedBatchIds;
38
+ return _this;
39
+ }
40
+ return CreateContactsBatchError;
41
+ }(Error));
42
+ exports.CreateContactsBatchError = CreateContactsBatchError;
31
43
  //# sourceMappingURL=apiError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiError.js","sourceRoot":"","sources":["../../src/apiError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA;IAA8B,4BAAK;IACjC,kBACkB,UAAe,EAC/B,OAAe,EACC,KAAc,EACd,cAAuB;QAJzC,YAME,kBAAM,OAAO,CAAC,SACf;QANiB,gBAAU,GAAV,UAAU,CAAK;QAEf,WAAK,GAAL,KAAK,CAAS;QACd,oBAAc,GAAd,cAAc,CAAS;;IAGzC,CAAC;IACH,eAAC;AAAD,CAAC,AATD,CAA8B,KAAK,GASlC;AATY,4BAAQ"}
1
+ {"version":3,"file":"apiError.js","sourceRoot":"","sources":["../../src/apiError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA;IAA8B,4BAAK;IACjC,kBACkB,UAAe,EAC/B,OAAe,EACC,KAAc,EACd,cAAuB;QAJzC,YAME,kBAAM,OAAO,CAAC,SACf;QANiB,gBAAU,GAAV,UAAU,CAAK;QAEf,WAAK,GAAL,KAAK,CAAS;QACd,oBAAc,GAAd,cAAc,CAAS;;IAGzC,CAAC;IACH,eAAC;AAAD,CAAC,AATD,CAA8B,KAAK,GASlC;AATY,4BAAQ;AAWrB;IAA8C,4CAAK;IACjD,kCACE,OAAe,EACC,aAAqB,EACrB,aAAwB,EACjC,iBAA4B;QAJrC,YAME,kBAAM,OAAO,CAAC,SACf;QALiB,mBAAa,GAAb,aAAa,CAAQ;QACrB,mBAAa,GAAb,aAAa,CAAW;QACjC,uBAAiB,GAAjB,iBAAiB,CAAW;;IAGrC,CAAC;IACH,+BAAC;AAAD,CAAC,AATD,CAA8C,KAAK,GASlD;AATY,4DAAwB"}
@@ -22,6 +22,7 @@ import { BatchProcessStatus, } from '@onereach/types-contacts-api';
22
22
  import { BaseApi } from './baseApi';
23
23
  import { getObjectSizeInBytes, chunkArrByMaxSize, debouncePromise } from '../utils';
24
24
  import { REQUEST_PAYLOAD_MAX_BYTES, FAILED_REQUEST_REPEATS, CONTACTS_DELETE_MAX_AMOUNT } from '../constants';
25
+ import { CreateContactsBatchError } from '../apiError';
25
26
  export default class ContactApi extends BaseApi {
26
27
  constructor(apiCall, batchProcessApi) {
27
28
  super(apiCall);
@@ -81,9 +82,10 @@ export default class ContactApi extends BaseApi {
81
82
  const contactsMaxSize = REQUEST_PAYLOAD_MAX_BYTES - getObjectSizeInBytes(Object.assign({}, rest));
82
83
  const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
83
84
  console.log('chunks: ', contactsChunks.length);
84
- return contactsChunks.length === 1
85
- ? this.createContactsInSingleBatch(data)
86
- : this.createContactsInMultiBatches(contactsChunks, rest);
85
+ const results = contactsChunks.length === 1
86
+ ? [yield this.createContactsInSingleBatch(data)]
87
+ : yield this.createContactsInMultiBatches(contactsChunks, rest);
88
+ return results.reduce((acc, { contactsIds }) => ([...acc, ...contactsIds]), []);
87
89
  });
88
90
  }
89
91
  initCreateBatch(data) {
@@ -148,7 +150,7 @@ export default class ContactApi extends BaseApi {
148
150
  yield this.polling(batchProcess.id);
149
151
  });
150
152
  }
151
- createContactsInSingleBatch(data, repeats = 0) {
153
+ createContactsInSingleBatch(data) {
152
154
  return __awaiter(this, void 0, void 0, function* () {
153
155
  const s = performance.now();
154
156
  const batchProcess = yield this.apiCall({
@@ -157,15 +159,12 @@ export default class ContactApi extends BaseApi {
157
159
  data,
158
160
  });
159
161
  const batchProcessResult = yield this.polling(batchProcess.id);
160
- if (repeats === 2) {
161
- throw new Error('Can not complete contacts creation batch');
162
- }
163
- if (batchProcessResult.status === BatchProcessStatus.failed) {
164
- return yield debouncePromise(() => this.createContactsInSingleBatch(data, repeats + 1), 10000);
165
- }
166
162
  const e = performance.now();
167
163
  console.log('single batch time: ', (e - s) / 1000, 's');
168
- return batchProcessResult.results.flatMap(i => JSON.parse(i));
164
+ return {
165
+ batchId: batchProcess.id,
166
+ contactsIds: batchProcessResult.results.flatMap(i => JSON.parse(i)),
167
+ };
169
168
  });
170
169
  }
171
170
  createContactsInMultiBatches(contactsChunks, data) {
@@ -178,9 +177,17 @@ export default class ContactApi extends BaseApi {
178
177
  const results = [];
179
178
  for (let i = 0; i < batchPromises.length; i += promisesBatchSize) {
180
179
  const s = performance.now();
181
- const chunk = batchPromises.slice(i, i + promisesBatchSize);
182
- const chunkResults = yield Promise.all(chunk.map((p) => p()));
183
- results.push(...chunkResults.reduce((acc, r) => ([...acc, ...r]), []));
180
+ try {
181
+ const chunk = batchPromises.slice(i, i + promisesBatchSize);
182
+ const chunkResults = yield Promise.all(chunk.map((p) => p()));
183
+ results.push(...chunkResults);
184
+ }
185
+ catch (e) {
186
+ if (e instanceof CreateContactsBatchError) {
187
+ e.processedBatchIds = results.map(({ batchId }) => batchId);
188
+ }
189
+ throw e;
190
+ }
184
191
  const e = performance.now();
185
192
  console.log('awaiting ', promisesBatchSize, ' batches: ', (e - s) / 1000, 's');
186
193
  }
@@ -189,19 +196,22 @@ export default class ContactApi extends BaseApi {
189
196
  }
190
197
  polling(batchId, repeats = 0) {
191
198
  return __awaiter(this, void 0, void 0, function* () {
192
- let batchProcessState;
199
+ let batchProcess;
193
200
  try {
194
- batchProcessState = yield debouncePromise(() => this.batchProcessApi.getBatchProcess(batchId), 1000);
201
+ batchProcess = yield debouncePromise(() => this.batchProcessApi.getBatchProcess(batchId), 1000);
195
202
  }
196
203
  catch (e) {
197
204
  if (repeats < FAILED_REQUEST_REPEATS) {
198
205
  return this.polling(batchId, repeats + 1);
199
206
  }
200
- throw e;
207
+ throw new CreateContactsBatchError(e.message, batchId);
208
+ }
209
+ if (batchProcess.status === BatchProcessStatus.failed) {
210
+ throw new CreateContactsBatchError('Could not complete batch process', batchId, batchProcess.messages);
201
211
  }
202
- return batchProcessState.status === BatchProcessStatus.pending
212
+ return batchProcess.status === BatchProcessStatus.pending
203
213
  ? this.polling(batchId)
204
- : batchProcessState;
214
+ : batchProcess;
205
215
  });
206
216
  }
207
217
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,12 @@ export class ApiError extends Error {
6
6
  this.translationKey = translationKey;
7
7
  }
8
8
  }
9
+ export class CreateContactsBatchError extends Error {
10
+ constructor(message, failedBatchId, batchMessages, processedBatchIds) {
11
+ super(message);
12
+ this.failedBatchId = failedBatchId;
13
+ this.batchMessages = batchMessages;
14
+ this.processedBatchIds = processedBatchIds;
15
+ }
16
+ }
9
17
  //# sourceMappingURL=apiError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiError.js","sourceRoot":"","sources":["../../src/apiError.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YACkB,UAAe,EAC/B,OAAe,EACC,KAAc,EACd,cAAuB;QAEvC,KAAK,CAAC,OAAO,CAAC,CAAC;QALC,eAAU,GAAV,UAAU,CAAK;QAEf,UAAK,GAAL,KAAK,CAAS;QACd,mBAAc,GAAd,cAAc,CAAS;IAGzC,CAAC;CACF"}
1
+ {"version":3,"file":"apiError.js","sourceRoot":"","sources":["../../src/apiError.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YACkB,UAAe,EAC/B,OAAe,EACC,KAAc,EACd,cAAuB;QAEvC,KAAK,CAAC,OAAO,CAAC,CAAC;QALC,eAAU,GAAV,UAAU,CAAK;QAEf,UAAK,GAAL,KAAK,CAAS;QACd,mBAAc,GAAd,cAAc,CAAS;IAGzC,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YACE,OAAe,EACC,aAAqB,EACrB,aAAwB,EACjC,iBAA4B;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,kBAAa,GAAb,aAAa,CAAQ;QACrB,kBAAa,GAAb,aAAa,CAAW;QACjC,sBAAiB,GAAjB,iBAAiB,CAAW;IAGrC,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"contactApi.d.ts","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAEhB,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAE3C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,eAAe;gBADJ,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3D,eAAe,EAAE,eAAe;IAK1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IAOzC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAY7E,WAAW,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAa3E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAa9E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAatE,WAAW,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7D,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAW5D,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0BtE,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA2BxF,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAanF,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,iBAAiB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtE,mBAAmB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;YAQvD,kBAAkB;YASlB,2BAA2B;YAoB3B,4BAA4B;YA6B5B,OAAO;CAetB"}
1
+ {"version":3,"file":"contactApi.d.ts","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAEhB,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAA8B,MAAM,UAAU,CAAC;AAI/E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAE3C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,eAAe;gBADJ,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3D,eAAe,EAAE,eAAe;IAK1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IAOzC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAY7E,WAAW,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAa3E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAa9E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAatE,WAAW,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7D,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAW5D,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA2BtE,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA2BxF,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAanF,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,iBAAiB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtE,mBAAmB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;YAQvD,kBAAkB;YASlB,2BAA2B;YAiB3B,4BAA4B;YAsC5B,OAAO;CAuBtB"}
@@ -4,4 +4,10 @@ export declare class ApiError extends Error {
4
4
  readonly translationKey?: string | undefined;
5
5
  constructor(statusCode: any, message: string, stack?: string | undefined, translationKey?: string | undefined);
6
6
  }
7
+ export declare class CreateContactsBatchError extends Error {
8
+ readonly failedBatchId: string;
9
+ readonly batchMessages?: string[] | undefined;
10
+ processedBatchIds?: string[] | undefined;
11
+ constructor(message: string, failedBatchId: string, batchMessages?: string[] | undefined, processedBatchIds?: string[] | undefined);
12
+ }
7
13
  //# sourceMappingURL=apiError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiError.d.ts","sourceRoot":"","sources":["../../src/apiError.ts"],"names":[],"mappings":"AAGA,qBAAa,QAAS,SAAQ,KAAK;aAEf,UAAU,EAAE,GAAG;aAEf,KAAK,CAAC;aACN,cAAc,CAAC;gBAHf,UAAU,EAAE,GAAG,EAC/B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,oBAAQ,EACd,cAAc,CAAC,oBAAQ;CAI1C"}
1
+ {"version":3,"file":"apiError.d.ts","sourceRoot":"","sources":["../../src/apiError.ts"],"names":[],"mappings":"AAGA,qBAAa,QAAS,SAAQ,KAAK;aAEf,UAAU,EAAE,GAAG;aAEf,KAAK,CAAC;aACN,cAAc,CAAC;gBAHf,UAAU,EAAE,GAAG,EAC/B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,oBAAQ,EACd,cAAc,CAAC,oBAAQ;CAI1C;AAED,qBAAa,wBAAyB,SAAQ,KAAK;aAG/B,aAAa,EAAE,MAAM;aACrB,aAAa,CAAC;IACvB,iBAAiB,CAAC;gBAHzB,OAAO,EAAE,MAAM,EACC,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,sBAAU,EACjC,iBAAiB,CAAC,sBAAU;CAItC"}
@@ -13,6 +13,10 @@ export interface ContactBookParams extends AdaptedListParams<ContactBookParamsDt
13
13
  orderProperty?: 'label' | 'created_at' | 'updated_at';
14
14
  }
15
15
  export declare type AdaptedListParams<T extends ListApiParams & OrderParams> = Omit<T, 'order' | 'skip' | 'take'> & Partial<PaginationOptions & OrderOptions>;
16
+ export declare type CreateContactsBatchResults = {
17
+ batchId: string;
18
+ contactsIds: string[];
19
+ };
16
20
  export declare type InitCreateBatchResponse = {
17
21
  totalChunks: number;
18
22
  firstChunkSize: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC/D,cAAc,8BAA8B,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/E,oBAAY,cAAc,GAAG;IAI3B,KAAK,EAAE,KAAK,CAAC;IAIb,YAAY,CAAC,EAAE,MAAM,CAAC;IAItB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB,CAAC,oBAAoB,CAAC;IAChF,aAAa,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,CAAC;CACvD;AAED,oBAAY,iBAAiB,CAAC,CAAC,SAAS,aAAa,GAAG,WAAW,IACjE,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,iBAAiB,GAAG,YAAY,CAAC,CAAC;AAEjF,oBAAY,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC/D,cAAc,8BAA8B,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/E,oBAAY,cAAc,GAAG;IAI3B,KAAK,EAAE,KAAK,CAAC;IAIb,YAAY,CAAC,EAAE,MAAM,CAAC;IAItB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB,CAAC,oBAAoB,CAAC;IAChF,aAAa,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,CAAC;CACvD;AAED,oBAAY,iBAAiB,CAAC,CAAC,SAAS,aAAa,GAAG,WAAW,IACjE,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,iBAAiB,GAAG,YAAY,CAAC,CAAC;AAEjF,oBAAY,0BAA0B,GAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,oBAAY,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.2.2-beta.1754.0",
2
+ "version": "3.2.2-beta.1758.0",
3
3
  "name": "@or-sdk/contacts",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
@@ -20,8 +20,9 @@ import { CalApiParams, List } from '@or-sdk/base';
20
20
  import { BaseApi } from './baseApi';
21
21
  import BatchProcessApi from './batchProcessApi';
22
22
  import { getObjectSizeInBytes, chunkArrByMaxSize, debouncePromise } from '../utils';
23
- import { InitCreateBatchResponse } from '../types';
23
+ import { InitCreateBatchResponse, CreateContactsBatchResults } from '../types';
24
24
  import { REQUEST_PAYLOAD_MAX_BYTES, FAILED_REQUEST_REPEATS, CONTACTS_DELETE_MAX_AMOUNT } from '../constants';
25
+ import { CreateContactsBatchError } from '../apiError';
25
26
 
26
27
  export default class ContactApi extends BaseApi {
27
28
  constructor(
@@ -123,10 +124,11 @@ export default class ContactApi extends BaseApi {
123
124
  const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
124
125
  // eslint-disable-next-line no-console
125
126
  console.log('chunks: ', contactsChunks.length);
127
+ const results = contactsChunks.length === 1
128
+ ? [await this.createContactsInSingleBatch(data)]
129
+ : await this.createContactsInMultiBatches(contactsChunks, rest);
126
130
 
127
- return contactsChunks.length === 1
128
- ? this.createContactsInSingleBatch(data)
129
- : this.createContactsInMultiBatches(contactsChunks, rest);
131
+ return results.reduce<string[]>((acc, { contactsIds }) => ([...acc, ...contactsIds]), []);
130
132
  }
131
133
 
132
134
  /**
@@ -235,7 +237,7 @@ export default class ContactApi extends BaseApi {
235
237
  await this.polling(batchProcess.id);
236
238
  }
237
239
 
238
- private async createContactsInSingleBatch(data: CreateMultipleContactsDto, repeats = 0): Promise<string[]> {
240
+ private async createContactsInSingleBatch(data: CreateMultipleContactsDto): Promise<CreateContactsBatchResults> {
239
241
  const s = performance.now();
240
242
  const batchProcess = await this.apiCall<BatchProcessResponseDto>({
241
243
  method: 'POST',
@@ -243,22 +245,19 @@ export default class ContactApi extends BaseApi {
243
245
  data,
244
246
  });
245
247
  const batchProcessResult = await this.polling(batchProcess.id);
246
- if (repeats === 2) {
247
- throw new Error('Can not complete contacts creation batch');
248
- }
249
- if (batchProcessResult.status === BatchProcessStatus.failed) {
250
- return await debouncePromise(() => this.createContactsInSingleBatch(data, repeats + 1), 10000);
251
- }
252
248
  const e = performance.now();
253
249
  // eslint-disable-next-line no-console
254
250
  console.log('single batch time: ', (e - s) / 1000, 's');
255
- return batchProcessResult.results.flatMap<string>(i => JSON.parse(i));
251
+ return {
252
+ batchId: batchProcess.id,
253
+ contactsIds: batchProcessResult.results.flatMap<string>(i => JSON.parse(i)),
254
+ };
256
255
  }
257
256
 
258
257
  private async createContactsInMultiBatches(
259
258
  contactsChunks: ContactRequestDto[][],
260
259
  data: Omit<CreateMultipleContactsDto, 'contacts'>
261
- ): Promise<string[]> {
260
+ ): Promise<CreateContactsBatchResults[]> {
262
261
  const batchPromises = contactsChunks
263
262
  .map((chunkContacts) => async () => this.createContactsInSingleBatch({
264
263
  contacts: chunkContacts,
@@ -266,13 +265,22 @@ export default class ContactApi extends BaseApi {
266
265
  }));
267
266
 
268
267
  const promisesBatchSize = 2;
269
- const results: string[] = [];
268
+ const results: CreateContactsBatchResults[] = [];
270
269
 
271
270
  for (let i = 0;i < batchPromises.length;i += promisesBatchSize) {
272
271
  const s = performance.now();
273
- const chunk = batchPromises.slice(i, i + promisesBatchSize);
274
- const chunkResults = await Promise.all(chunk.map((p) => p()));
275
- results.push(...chunkResults.reduce((acc, r) => ([...acc, ...r]), []));
272
+ try {
273
+ const chunk = batchPromises.slice(i, i + promisesBatchSize);
274
+ const chunkResults = await Promise.all(chunk.map((p) => p()));
275
+ // results.push(...chunkResults.reduce((acc, r) => ([...acc, ...r]), []));
276
+ results.push(...chunkResults);
277
+ } catch (e) {
278
+ if (e instanceof CreateContactsBatchError) {
279
+ e.processedBatchIds = results.map(({ batchId }) => batchId);
280
+ }
281
+ throw e;
282
+ }
283
+
276
284
  const e = performance.now();
277
285
  // eslint-disable-next-line no-console
278
286
  console.log('awaiting ', promisesBatchSize, ' batches: ', (e - s) / 1000, 's');
@@ -285,18 +293,26 @@ export default class ContactApi extends BaseApi {
285
293
  * Pols specific batch process until status of it isn't turned from 'pending to something else.
286
294
  */
287
295
  private async polling(batchId: string, repeats = 0): Promise<BatchProcessResponseDto> {
288
- let batchProcessState: BatchProcessResponseDto;
296
+ let batchProcess: BatchProcessResponseDto;
289
297
  try {
290
- batchProcessState = await debouncePromise(() => this.batchProcessApi.getBatchProcess(batchId), 1000);
298
+ batchProcess = await debouncePromise(() => this.batchProcessApi.getBatchProcess(batchId), 1000);
291
299
  } catch (e) {
292
300
  if (repeats < FAILED_REQUEST_REPEATS) {
293
301
  return this.polling(batchId, repeats + 1);
294
302
  }
295
- throw e;
303
+ throw new CreateContactsBatchError((e as unknown as Error).message, batchId);
304
+ }
305
+
306
+ if (batchProcess.status === BatchProcessStatus.failed) {
307
+ throw new CreateContactsBatchError(
308
+ 'Could not complete batch process',
309
+ batchId,
310
+ batchProcess.messages
311
+ );
296
312
  }
297
313
 
298
- return batchProcessState.status === BatchProcessStatus.pending
314
+ return batchProcess.status === BatchProcessStatus.pending
299
315
  ? this.polling(batchId)
300
- : batchProcessState;
316
+ : batchProcess;
301
317
  }
302
318
  }
package/src/apiError.ts CHANGED
@@ -11,3 +11,14 @@ export class ApiError extends Error {
11
11
  super(message);
12
12
  }
13
13
  }
14
+
15
+ export class CreateContactsBatchError extends Error {
16
+ constructor(
17
+ message: string,
18
+ public readonly failedBatchId: string,
19
+ public readonly batchMessages?: string[],
20
+ public processedBatchIds?: string[],
21
+ ) {
22
+ super(message);
23
+ }
24
+ }
package/src/types.ts CHANGED
@@ -31,6 +31,11 @@ export interface ContactBookParams extends AdaptedListParams<ContactBookParamsDt
31
31
  export type AdaptedListParams<T extends ListApiParams & OrderParams> =
32
32
  Omit<T, 'order' | 'skip' | 'take'> & Partial<PaginationOptions & OrderOptions>;
33
33
 
34
+ export type CreateContactsBatchResults ={
35
+ batchId: string;
36
+ contactsIds: string[];
37
+ };
38
+
34
39
  export type InitCreateBatchResponse = {
35
40
  totalChunks: number;
36
41
  firstChunkSize: number;