@or-sdk/contacts 3.5.7-beta.2174.0 → 3.5.7-beta.2175.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.
@@ -89,9 +89,9 @@ var BulkContactsCreateApi = (function (_super) {
89
89
  _this.apiBasePath = 'bulk-create';
90
90
  return _this;
91
91
  }
92
- BulkContactsCreateApi.prototype.bulkCreateContacts = function (data) {
92
+ BulkContactsCreateApi.prototype.bulkCreateContacts = function (bulkName, data) {
93
93
  return __awaiter(this, void 0, void 0, function () {
94
- var dataWithContactKeys, results, contacts, rest, contactsMaxSize, contactsChunks, batchGroupId, indicesOnBatchId_1;
94
+ var dataWithContactKeys, results, contacts, rest, contactsMaxSize, contactsChunks, indicesOnBatchId_1;
95
95
  var _this = this;
96
96
  return __generator(this, function (_a) {
97
97
  switch (_a.label) {
@@ -104,38 +104,71 @@ var BulkContactsCreateApi = (function (_super) {
104
104
  created: {},
105
105
  failed: {},
106
106
  };
107
- _a.label = 2;
107
+ return [4, this.setBulkProgress(bulkName)];
108
108
  case 2:
109
- _a.trys.push([2, , 8, 10]);
109
+ _a.sent();
110
+ _a.label = 3;
111
+ case 3:
112
+ _a.trys.push([3, , 9, 11]);
110
113
  contacts = dataWithContactKeys.contacts, rest = __rest(dataWithContactKeys, ["contacts"]);
111
114
  contactsMaxSize = constants_1.REQUEST_PAYLOAD_MAX_BYTES - (0, utils_1.getObjectSizeInBytes)(__assign({}, rest));
112
115
  contactsChunks = (0, utils_1.chunkArrByMaxSize)(contacts, contactsMaxSize);
113
- batchGroupId = (0, uuid_1.v4)();
114
- if (!(contactsChunks.length === 1)) return [3, 4];
115
- return [4, this.createContactsInSingleBatch(dataWithContactKeys, batchGroupId)];
116
- case 3:
116
+ if (!(contactsChunks.length === 1)) return [3, 5];
117
+ return [4, this.createContactsInSingleBatch(dataWithContactKeys, bulkName)];
118
+ case 4:
117
119
  _a.sent();
118
- return [3, 6];
119
- case 4: return [4, this.createContactsInMultiBatches(contactsChunks, rest, batchGroupId)];
120
- case 5:
120
+ return [3, 7];
121
+ case 5: return [4, this.createContactsInMultiBatches(contactsChunks, rest, bulkName)];
122
+ case 6:
121
123
  _a.sent();
122
- _a.label = 6;
123
- case 6: return [4, this.getBulkCreateResults(batchGroupId)];
124
- case 7:
125
- results = _a.sent();
126
- return [3, 10];
124
+ _a.label = 7;
125
+ case 7: return [4, this.getBulkCreateResults(bulkName)];
127
126
  case 8:
127
+ results = _a.sent();
128
+ return [3, 11];
129
+ case 9:
128
130
  indicesOnBatchId_1 = (0, uuid_1.v4)();
129
131
  this.indicesOn(indicesOnBatchId_1);
130
132
  return [4, (0, utils_1.debouncePromise)(function () { return _this.polling(indicesOnBatchId_1); }, 3000)];
131
- case 9:
133
+ case 10:
132
134
  _a.sent();
133
135
  return [7];
134
- case 10: return [2, results];
136
+ case 11: return [2, results];
135
137
  }
136
138
  });
137
139
  });
138
140
  };
141
+ BulkContactsCreateApi.prototype.getBulkProgress = function (bulkName) {
142
+ return __awaiter(this, void 0, void 0, function () {
143
+ return __generator(this, function (_a) {
144
+ return [2, this.apiCall({
145
+ method: 'GET',
146
+ route: "".concat(this.apiBasePath, "/bulk-progress/").concat(bulkName),
147
+ })];
148
+ });
149
+ });
150
+ };
151
+ BulkContactsCreateApi.prototype.setBulkProgress = function (bulkName) {
152
+ return __awaiter(this, void 0, void 0, function () {
153
+ return __generator(this, function (_a) {
154
+ return [2, this.apiCall({
155
+ method: 'POST',
156
+ route: "".concat(this.apiBasePath, "/bulk-progress/").concat(bulkName),
157
+ })];
158
+ });
159
+ });
160
+ };
161
+ BulkContactsCreateApi.prototype.updateBulkProgress = function (bulkName, progress) {
162
+ return __awaiter(this, void 0, void 0, function () {
163
+ return __generator(this, function (_a) {
164
+ return [2, this.apiCall({
165
+ method: 'PATCH',
166
+ route: "".concat(this.apiBasePath, "/bulk-progress/").concat(bulkName),
167
+ data: progress,
168
+ })];
169
+ });
170
+ });
171
+ };
139
172
  BulkContactsCreateApi.prototype.updateContactsWithContactKeys = function (data) {
140
173
  var dataWithContactKeys = __assign(__assign({}, data), { contacts: data.contacts.map(function (c, idx) {
141
174
  if (c.contactKey !== undefined) {
@@ -221,10 +254,10 @@ var BulkContactsCreateApi = (function (_super) {
221
254
  };
222
255
  BulkContactsCreateApi.prototype.createContactsInSingleBatch = function (data, batchGroupId) {
223
256
  return __awaiter(this, void 0, void 0, function () {
224
- var batchId;
257
+ var batchId, _a, totalBatches, totalContacts, completedBatches, completedContacts;
225
258
  var _this = this;
226
- return __generator(this, function (_a) {
227
- switch (_a.label) {
259
+ return __generator(this, function (_b) {
260
+ switch (_b.label) {
228
261
  case 0:
229
262
  batchId = (0, uuid_1.v4)();
230
263
  this.apiCall({
@@ -234,7 +267,18 @@ var BulkContactsCreateApi = (function (_super) {
234
267
  });
235
268
  return [4, (0, utils_1.debouncePromise)(function () { return _this.polling(batchId); }, 3000)];
236
269
  case 1:
237
- _a.sent();
270
+ _b.sent();
271
+ return [4, this.getBulkProgress(batchGroupId)];
272
+ case 2:
273
+ _a = _b.sent(), totalBatches = _a.totalBatches, totalContacts = _a.totalContacts, completedBatches = _a.completedBatches, completedContacts = _a.completedContacts;
274
+ return [4, this.updateBulkProgress(batchGroupId, {
275
+ totalBatches: totalBatches,
276
+ totalContacts: totalContacts,
277
+ completedBatches: completedBatches + 1,
278
+ completedContacts: completedContacts + data.contacts.length,
279
+ })];
280
+ case 3:
281
+ _b.sent();
238
282
  return [2];
239
283
  }
240
284
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bulkContactsCreateApi.js","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bulkContactsCreateApi.js","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
29
29
  this.batchProcessApi = batchProcessApi;
30
30
  this.apiBasePath = 'bulk-create';
31
31
  }
32
- bulkCreateContacts(data) {
32
+ bulkCreateContacts(bulkName, data) {
33
33
  return __awaiter(this, void 0, void 0, function* () {
34
34
  const dataWithContactKeys = this.updateContactsWithContactKeys(data);
35
35
  yield this.indicesOff();
@@ -37,18 +37,18 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
37
37
  created: {},
38
38
  failed: {},
39
39
  };
40
+ yield this.setBulkProgress(bulkName);
40
41
  try {
41
42
  const { contacts } = dataWithContactKeys, rest = __rest(dataWithContactKeys, ["contacts"]);
42
43
  const contactsMaxSize = REQUEST_PAYLOAD_MAX_BYTES - getObjectSizeInBytes(Object.assign({}, rest));
43
44
  const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
44
- const batchGroupId = v4();
45
45
  if (contactsChunks.length === 1) {
46
- yield this.createContactsInSingleBatch(dataWithContactKeys, batchGroupId);
46
+ yield this.createContactsInSingleBatch(dataWithContactKeys, bulkName);
47
47
  }
48
48
  else {
49
- yield this.createContactsInMultiBatches(contactsChunks, rest, batchGroupId);
49
+ yield this.createContactsInMultiBatches(contactsChunks, rest, bulkName);
50
50
  }
51
- results = yield this.getBulkCreateResults(batchGroupId);
51
+ results = yield this.getBulkCreateResults(bulkName);
52
52
  }
53
53
  finally {
54
54
  const indicesOnBatchId = v4();
@@ -58,6 +58,31 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
58
58
  return results;
59
59
  });
60
60
  }
61
+ getBulkProgress(bulkName) {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ return this.apiCall({
64
+ method: 'GET',
65
+ route: `${this.apiBasePath}/bulk-progress/${bulkName}`,
66
+ });
67
+ });
68
+ }
69
+ setBulkProgress(bulkName) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ return this.apiCall({
72
+ method: 'POST',
73
+ route: `${this.apiBasePath}/bulk-progress/${bulkName}`,
74
+ });
75
+ });
76
+ }
77
+ updateBulkProgress(bulkName, progress) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ return this.apiCall({
80
+ method: 'PATCH',
81
+ route: `${this.apiBasePath}/bulk-progress/${bulkName}`,
82
+ data: progress,
83
+ });
84
+ });
85
+ }
61
86
  updateContactsWithContactKeys(data) {
62
87
  const dataWithContactKeys = Object.assign(Object.assign({}, data), { contacts: data.contacts.map((c, idx) => {
63
88
  if (c.contactKey !== undefined) {
@@ -125,6 +150,13 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
125
150
  batchGroupId }),
126
151
  });
127
152
  yield debouncePromise(() => this.polling(batchId), 3000);
153
+ const { totalBatches, totalContacts, completedBatches, completedContacts, } = yield this.getBulkProgress(batchGroupId);
154
+ yield this.updateBulkProgress(batchGroupId, {
155
+ totalBatches,
156
+ totalContacts,
157
+ completedBatches: completedBatches + 1,
158
+ completedContacts: completedContacts + data.contacts.length,
159
+ });
128
160
  });
129
161
  }
130
162
  createContactsInMultiBatches(contactsChunks, data, batchGroupId) {
@@ -1 +1 @@
1
- {"version":3,"file":"bulkContactsCreateApi.js","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bulkContactsCreateApi.js","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACpF,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAS1B,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,cAAc;IAC/D,YACqB,OAAgD,EACzD,eAAgC;QAE1C,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAHb,YAAO,GAAP,OAAO,CAAyC;QACzD,oBAAe,GAAf,eAAe,CAAiB;QAK3B,gBAAW,GAAG,aAAa,CAAC;IAF7C,CAAC;IA8BY,kBAAkB,CAC7B,QAAgB,EAChB,IAAoB;;YAEpB,MAAM,mBAAmB,GAAG,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;YAErE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,OAAO,GAAyB;gBAClC,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;aACX,CAAC;YACF,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI;gBACF,MAAM,EAAE,QAAQ,KAAc,mBAAmB,EAA5B,IAAI,UAAK,mBAAmB,EAA3C,YAAqB,CAAsB,CAAC;gBAClD,MAAM,eAAe,GAAG,yBAAyB,GAAG,oBAAoB,mBAAM,IAAI,EAAG,CAAC;gBACtF,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAEpE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC/B,MAAM,IAAI,CAAC,2BAA2B,CAAC,mBAA0C,EAAE,QAAQ,CAAC,CAAC;iBAC9F;qBAAM;oBACL,MAAM,IAAI,CAAC,4BAA4B,CAAC,cAAoC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;iBAC/F;gBAED,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;aACrD;oBAAS;gBACR,MAAM,gBAAgB,GAAG,EAAE,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBACjC,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;aACnE;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEK,eAAe,CAAC,QAAgB;;YACpC,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,kBAAkB,QAAQ,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,eAAe,CAAC,QAAgB;;YAC5C,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,kBAAkB,QAAQ,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,kBAAkB,CAAC,QAAgB,EAAE,QAAyB;;YAC1E,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,kBAAkB,QAAQ,EAAE;gBACtD,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;KAAA;IAEO,6BAA6B,CAAC,IAAoB;QACxD,MAAM,mBAAmB,mCACpB,IAAI,KACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBACrC,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE;oBAC9B,OAAO,CAAC,CAAC;iBACV;gBACD,uCACK,CAAC,KACJ,UAAU,EAAE,GAAG,GAAG,EAAE,IACpB;YACJ,CAAC,CAAqB,GACvB,CAAC;QAEF,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAEhE,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAEa,SAAS,CAAC,OAAe;;YACrC,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,eAAe,OAAO,EAAE;aACnD,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,UAAU;;YACtB,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,cAAc;aACzC,CAAC,CAAC;QACL,CAAC;KAAA;IAEO,4BAA4B,CAAC,QAA0B;QAC7D,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACzE,IAAI,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;gBACpC,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,mDAAmD,CAAC,CAAC;aAChF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEY,oBAAoB,CAAC,YAAoB;;YACpD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAC9F,IAAI,OAAO,qBAAQ,YAAY,CAAE,CAAC;YAElC,IAAI,KAAK,GAAG,IAAI,EAAE;gBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAC,CAAC,EAAG,EAAE;oBACzD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;oBACtF,OAAO,GAAG;wBACR,OAAO,kCACF,OAAO,CAAC,OAAO,GACf,WAAW,CAAC,OAAO,CACvB;wBACD,MAAM,kCACD,OAAO,CAAC,MAAM,GACd,WAAW,CAAC,OAAO,CACvB;qBACF,CAAC;iBACH;aACF;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEa,kBAAkB,CAAC,YAAoB,EAAE,IAAY;;YACjE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAwB;gBAC/C,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,iBAAiB,YAAY,IAAI,IAAI,EAAE;aAClE,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,2BAA2B,CACvC,IAAyB,EACzB,YAAoB;;YAEpB,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC;gBACX,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,OAAO;gBACjC,IAAI,kCACC,IAAI,KACP,OAAO;oBACP,YAAY,GACb;aACF,CAAC,CAAC;YAEH,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;YAEzD,MAAM,EACJ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,GAClB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;gBAC1C,YAAY;gBACZ,aAAa;gBACb,gBAAgB,EAAE,gBAAgB,GAAG,CAAC;gBACtC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;aAC5D,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,4BAA4B,CACxC,cAAkC,EAClC,IAAsC,EACtC,YAAoB;;YAEpB,MAAM,aAAa,GAAG,cAAc;iBACjC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,GAAS,EAAE;gBAAC,OAAA,IAAI,CAAC,2BAA2B,iBAClE,QAAQ,EAAE,aAAa,IACpB,IAAI,GACN,YAAY,CAAC,CAAA;cAAA,CAAC,CAAC;YAEpB,MAAM,iBAAiB,GAAG,CAAC,CAAC;YAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAC,CAAC,GAAG,aAAa,CAAC,MAAM,EAAC,CAAC,IAAI,iBAAiB,EAAE;gBAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC;gBAC5D,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC1C;QACH,CAAC;KAAA;CAEF"}
@@ -1,14 +1,17 @@
1
1
  import { CalApiParams } from '@or-sdk/base';
2
2
  import BaseWithPoling from './baseWithPolingApi';
3
3
  import BatchProcessApi from './batchProcessApi';
4
- import { BulkCreateResultsDto } from '@onereach/types-contacts-api';
4
+ import { BulkCreateResultsDto, BulkProgressDto } from '@onereach/types-contacts-api';
5
5
  import { BulkCreateData } from '../types';
6
6
  export default class BulkContactsCreateApi extends BaseWithPoling {
7
7
  protected readonly apiCall: <T>(params: CalApiParams) => Promise<T>;
8
8
  protected batchProcessApi: BatchProcessApi;
9
9
  constructor(apiCall: <T>(params: CalApiParams) => Promise<T>, batchProcessApi: BatchProcessApi);
10
10
  private readonly apiBasePath;
11
- bulkCreateContacts(data: BulkCreateData): Promise<BulkCreateResultsDto>;
11
+ bulkCreateContacts(bulkName: string, data: BulkCreateData): Promise<BulkCreateResultsDto>;
12
+ getBulkProgress(bulkName: string): Promise<BulkProgressDto>;
13
+ private setBulkProgress;
14
+ private updateBulkProgress;
12
15
  private updateContactsWithContactKeys;
13
16
  private indicesOn;
14
17
  private indicesOff;
@@ -1 +1 @@
1
- {"version":3,"file":"bulkContactsCreateApi.d.ts","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAIhD,OAAO,EAAkB,oBAAoB,EAAyB,MAAM,8BAA8B,CAAC;AAC3G,OAAO,EAAuB,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,cAAc;IAE7D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;IACnE,SAAS,CAAC,eAAe,EAAE,eAAe;gBADvB,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EACzD,eAAe,EAAE,eAAe;IAK5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IA4BhC,kBAAkB,CAC7B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,oBAAoB,CAAC;IA8BhC,OAAO,CAAC,6BAA6B;YAmBvB,SAAS;YAOT,UAAU;IAOxB,OAAO,CAAC,4BAA4B;IAQvB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAsBxE,kBAAkB;YAOlB,2BAA2B;YAkB3B,4BAA4B;CAmB3C"}
1
+ {"version":3,"file":"bulkContactsCreateApi.d.ts","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAIhD,OAAO,EAEL,oBAAoB,EACpB,eAAe,EAEhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAuB,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,cAAc;IAE7D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;IACnE,SAAS,CAAC,eAAe,EAAE,eAAe;gBADvB,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EACzD,eAAe,EAAE,eAAe;IAK5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IA4BhC,kBAAkB,CAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,oBAAoB,CAAC;IA8B1B,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YAOnD,eAAe;YAOf,kBAAkB;IAQhC,OAAO,CAAC,6BAA6B;YAmBvB,SAAS;YAOT,UAAU;IAOxB,OAAO,CAAC,4BAA4B;IAQvB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAsBxE,kBAAkB;YAOlB,2BAA2B;YA+B3B,4BAA4B;CAmB3C"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.5.7-beta.2174.0",
2
+ "version": "3.5.7-beta.2175.0",
3
3
  "name": "@or-sdk/contacts",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
@@ -4,7 +4,12 @@ import BatchProcessApi from './batchProcessApi';
4
4
  import { REQUEST_PAYLOAD_MAX_BYTES } from '../constants';
5
5
  import { chunkArrByMaxSize, debouncePromise, getObjectSizeInBytes } from '../utils';
6
6
  import { v4 } from 'uuid';
7
- import { BulkContactDto, BulkCreateResultsDto, CreateBulkResponseDto } from '@onereach/types-contacts-api';
7
+ import {
8
+ BulkContactDto,
9
+ BulkCreateResultsDto,
10
+ BulkProgressDto,
11
+ CreateBulkResponseDto,
12
+ } from '@onereach/types-contacts-api';
8
13
  import { BatchBulkCreateData, BulkCreateData } from '../types';
9
14
 
10
15
  export default class BulkContactsCreateApi extends BaseWithPoling {
@@ -44,6 +49,7 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
44
49
  * of contact.
45
50
  */
46
51
  public async bulkCreateContacts(
52
+ bulkName: string,
47
53
  data: BulkCreateData
48
54
  ): Promise<BulkCreateResultsDto> {
49
55
  const dataWithContactKeys = this.updateContactsWithContactKeys(data);
@@ -53,19 +59,19 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
53
59
  created: {},
54
60
  failed: {},
55
61
  };
62
+ await this.setBulkProgress(bulkName);
56
63
  try {
57
64
  const { contacts, ...rest } = dataWithContactKeys;
58
65
  const contactsMaxSize = REQUEST_PAYLOAD_MAX_BYTES - getObjectSizeInBytes({ ...rest });
59
66
  const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
60
- const batchGroupId = v4();
61
67
 
62
68
  if (contactsChunks.length === 1) {
63
- await this.createContactsInSingleBatch(dataWithContactKeys as BatchBulkCreateData, batchGroupId);
69
+ await this.createContactsInSingleBatch(dataWithContactKeys as BatchBulkCreateData, bulkName);
64
70
  } else {
65
- await this.createContactsInMultiBatches(contactsChunks as BulkContactDto[][], rest, batchGroupId);
71
+ await this.createContactsInMultiBatches(contactsChunks as BulkContactDto[][], rest, bulkName);
66
72
  }
67
73
 
68
- results = await this.getBulkCreateResults(batchGroupId);
74
+ results = await this.getBulkCreateResults(bulkName);
69
75
  } finally {
70
76
  const indicesOnBatchId = v4();
71
77
  this.indicesOn(indicesOnBatchId);
@@ -75,6 +81,28 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
75
81
  return results;
76
82
  }
77
83
 
84
+ async getBulkProgress(bulkName: string): Promise<BulkProgressDto> {
85
+ return this.apiCall({
86
+ method: 'GET',
87
+ route: `${this.apiBasePath}/bulk-progress/${bulkName}`,
88
+ });
89
+ }
90
+
91
+ private async setBulkProgress(bulkName: string): Promise<void> {
92
+ return this.apiCall({
93
+ method: 'POST',
94
+ route: `${this.apiBasePath}/bulk-progress/${bulkName}`,
95
+ });
96
+ }
97
+
98
+ private async updateBulkProgress(bulkName: string, progress: BulkProgressDto): Promise<void> {
99
+ return this.apiCall({
100
+ method: 'PATCH',
101
+ route: `${this.apiBasePath}/bulk-progress/${bulkName}`,
102
+ data: progress,
103
+ });
104
+ }
105
+
78
106
  private updateContactsWithContactKeys(data: BulkCreateData): BatchBulkCreateData {
79
107
  const dataWithContactKeys = {
80
108
  ...data,
@@ -161,6 +189,19 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
161
189
  });
162
190
  // giving time to 2 lambdas to wake up (1 - create Batch and 2 - ping batch status)
163
191
  await debouncePromise(() => this.polling(batchId), 3000);
192
+
193
+ const {
194
+ totalBatches,
195
+ totalContacts,
196
+ completedBatches,
197
+ completedContacts,
198
+ } = await this.getBulkProgress(batchGroupId);
199
+ await this.updateBulkProgress(batchGroupId, {
200
+ totalBatches,
201
+ totalContacts,
202
+ completedBatches: completedBatches + 1,
203
+ completedContacts: completedContacts + data.contacts.length,
204
+ });
164
205
  }
165
206
 
166
207
  private async createContactsInMultiBatches(