@or-sdk/contacts 3.2.2-beta.1750.0 → 3.2.2-beta.1752.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/dist/cjs/api/contactApi.js +27 -86
- package/dist/cjs/api/contactApi.js.map +1 -1
- package/dist/cjs/utils.js +1 -11
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/api/contactApi.js +19 -53
- package/dist/esm/api/contactApi.js.map +1 -1
- package/dist/esm/utils.js +0 -9
- package/dist/esm/utils.js.map +1 -1
- package/dist/types/api/contactApi.d.ts +1 -2
- package/dist/types/api/contactApi.d.ts.map +1 -1
- package/dist/types/utils.d.ts +0 -1
- package/dist/types/utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/api/contactApi.ts +27 -79
- package/src/utils.ts +0 -16
|
@@ -72,17 +72,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
72
72
|
}
|
|
73
73
|
return t;
|
|
74
74
|
};
|
|
75
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
76
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
77
|
-
if (ar || !(i in from)) {
|
|
78
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
79
|
-
ar[i] = from[i];
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
83
|
-
};
|
|
84
75
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
85
|
-
var types_contacts_api_1 = require("@onereach/types-contacts-api");
|
|
86
76
|
var baseApi_1 = require("./baseApi");
|
|
87
77
|
var utils_1 = require("../utils");
|
|
88
78
|
var constants_1 = require("../constants");
|
|
@@ -141,19 +131,17 @@ var ContactApi = (function (_super) {
|
|
|
141
131
|
data: data,
|
|
142
132
|
});
|
|
143
133
|
};
|
|
144
|
-
ContactApi.prototype.bulkCreateContacts = function (data
|
|
145
|
-
if (threads === void 0) { threads = 4; }
|
|
134
|
+
ContactApi.prototype.bulkCreateContacts = function (data) {
|
|
146
135
|
return __awaiter(this, void 0, void 0, function () {
|
|
147
136
|
var contacts, rest, contactsMaxSize, contactsChunks;
|
|
148
137
|
return __generator(this, function (_a) {
|
|
138
|
+
console.log(data);
|
|
149
139
|
contacts = data.contacts, rest = __rest(data, ["contacts"]);
|
|
150
|
-
console.log('contacts amount = ', contacts.length);
|
|
151
140
|
contactsMaxSize = constants_1.REQUEST_PAYLOAD_MAX_BYTES - (0, utils_1.getObjectSizeInBytes)(__assign({}, rest));
|
|
152
141
|
contactsChunks = (0, utils_1.chunkArrByMaxSize)(contacts, contactsMaxSize);
|
|
153
|
-
console.log('chunks amount = ', contactsChunks.length);
|
|
154
142
|
return [2, contactsChunks.length === 1
|
|
155
143
|
? this.createContactsInSingleBatch(data)
|
|
156
|
-
: this.createContactsInMultiBatches(contactsChunks, rest
|
|
144
|
+
: this.createContactsInMultiBatches(contactsChunks, rest)];
|
|
157
145
|
});
|
|
158
146
|
});
|
|
159
147
|
};
|
|
@@ -192,26 +180,6 @@ var ContactApi = (function (_super) {
|
|
|
192
180
|
data: data,
|
|
193
181
|
});
|
|
194
182
|
};
|
|
195
|
-
ContactApi.prototype.getSafelyContactsList = function (contactIds, bookId, repeats) {
|
|
196
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
197
|
-
var contacts;
|
|
198
|
-
var _this = this;
|
|
199
|
-
return __generator(this, function (_a) {
|
|
200
|
-
switch (_a.label) {
|
|
201
|
-
case 0: return [4, this.listContact(__assign({ contactIds: contactIds }, (bookId && { contact_book: bookId }))).catch(function (e) {
|
|
202
|
-
repeats = repeats || 0;
|
|
203
|
-
if (repeats < constants_1.FAILED_REQUEST_REPEATS) {
|
|
204
|
-
return _this.getSafelyContactsList(contactIds, bookId, repeats + 1);
|
|
205
|
-
}
|
|
206
|
-
throw new Error(e);
|
|
207
|
-
})];
|
|
208
|
-
case 1:
|
|
209
|
-
contacts = _a.sent();
|
|
210
|
-
return [2, contacts];
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
});
|
|
214
|
-
};
|
|
215
183
|
ContactApi.prototype.bulkDeleteContacts = function (data) {
|
|
216
184
|
return __awaiter(this, void 0, void 0, function () {
|
|
217
185
|
var batchProcess;
|
|
@@ -232,74 +200,51 @@ var ContactApi = (function (_super) {
|
|
|
232
200
|
});
|
|
233
201
|
});
|
|
234
202
|
};
|
|
235
|
-
ContactApi.prototype.createContactsInSingleBatch = function (data
|
|
236
|
-
if (repeats === void 0) { repeats = 0; }
|
|
203
|
+
ContactApi.prototype.createContactsInSingleBatch = function (data) {
|
|
237
204
|
return __awaiter(this, void 0, void 0, function () {
|
|
238
|
-
var
|
|
239
|
-
var _this = this;
|
|
205
|
+
var batchProcess, batchProcessResult;
|
|
240
206
|
return __generator(this, function (_a) {
|
|
241
207
|
switch (_a.label) {
|
|
242
|
-
case 0:
|
|
243
|
-
|
|
244
|
-
|
|
208
|
+
case 0: return [4, this.apiCall({
|
|
209
|
+
method: 'POST',
|
|
210
|
+
route: "".concat(this.apiBasePath, "/bulk"),
|
|
211
|
+
data: data,
|
|
212
|
+
})];
|
|
245
213
|
case 1:
|
|
246
|
-
_a.trys.push([1, 5, , 6]);
|
|
247
|
-
return [4, this.apiCall({
|
|
248
|
-
method: 'POST',
|
|
249
|
-
route: "".concat(this.apiBasePath, "/bulk"),
|
|
250
|
-
data: data,
|
|
251
|
-
})];
|
|
252
|
-
case 2:
|
|
253
214
|
batchProcess = _a.sent();
|
|
254
215
|
return [4, this.polling(batchProcess.id)];
|
|
255
|
-
case
|
|
216
|
+
case 2:
|
|
256
217
|
batchProcessResult = _a.sent();
|
|
257
|
-
|
|
258
|
-
return [4, this.getSafelyContactsList(contactIds, data.contact_book)];
|
|
259
|
-
case 4:
|
|
260
|
-
importedContacts = _a.sent();
|
|
261
|
-
contacts = importedContacts.items;
|
|
262
|
-
return [3, 6];
|
|
263
|
-
case 5:
|
|
264
|
-
e_1 = _a.sent();
|
|
265
|
-
if (repeats < constants_1.FAILED_REQUEST_REPEATS) {
|
|
266
|
-
return [2, (0, utils_1.debouncePromise)(function () { return _this.createContactsInSingleBatch(data, repeats + 1); }, 5000)];
|
|
267
|
-
}
|
|
268
|
-
throw e_1;
|
|
269
|
-
case 6: return [2, contacts];
|
|
218
|
+
return [2, batchProcessResult.results.flatMap(function (i) { return JSON.parse(i); })];
|
|
270
219
|
}
|
|
271
220
|
});
|
|
272
221
|
});
|
|
273
222
|
};
|
|
274
|
-
ContactApi.prototype.createContactsInMultiBatches = function (contactsChunks, data
|
|
223
|
+
ContactApi.prototype.createContactsInMultiBatches = function (contactsChunks, data) {
|
|
275
224
|
return __awaiter(this, void 0, void 0, function () {
|
|
276
|
-
var batchPromises, results,
|
|
225
|
+
var batchPromises, results, _i, batchPromises_1, fn, singleBatchResults;
|
|
277
226
|
var _this = this;
|
|
278
227
|
return __generator(this, function (_a) {
|
|
279
228
|
switch (_a.label) {
|
|
280
229
|
case 0:
|
|
281
|
-
batchPromises = contactsChunks.map(function (
|
|
230
|
+
batchPromises = contactsChunks.map(function (chunkContacts) { return function () { return __awaiter(_this, void 0, void 0, function () {
|
|
282
231
|
return __generator(this, function (_a) {
|
|
283
|
-
return [2, this.createContactsInSingleBatch(__assign({ contacts:
|
|
232
|
+
return [2, this.createContactsInSingleBatch(__assign({ contacts: chunkContacts }, data))];
|
|
284
233
|
});
|
|
285
234
|
}); }; });
|
|
286
235
|
results = [];
|
|
287
|
-
|
|
288
|
-
i = 0;
|
|
236
|
+
_i = 0, batchPromises_1 = batchPromises;
|
|
289
237
|
_a.label = 1;
|
|
290
238
|
case 1:
|
|
291
|
-
if (!(
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
return [4, Promise.all(chunk.map(function (p) { return p(); }))];
|
|
239
|
+
if (!(_i < batchPromises_1.length)) return [3, 4];
|
|
240
|
+
fn = batchPromises_1[_i];
|
|
241
|
+
return [4, fn()];
|
|
295
242
|
case 2:
|
|
296
|
-
|
|
297
|
-
results.push.apply(results,
|
|
298
|
-
e = performance.now();
|
|
299
|
-
console.log('BATCH ', i, ' resolved for ', (e - s) / 1000, 's');
|
|
243
|
+
singleBatchResults = _a.sent();
|
|
244
|
+
results.push.apply(results, singleBatchResults);
|
|
300
245
|
_a.label = 3;
|
|
301
246
|
case 3:
|
|
302
|
-
|
|
247
|
+
_i++;
|
|
303
248
|
return [3, 1];
|
|
304
249
|
case 4: return [2, results];
|
|
305
250
|
}
|
|
@@ -309,7 +254,7 @@ var ContactApi = (function (_super) {
|
|
|
309
254
|
ContactApi.prototype.polling = function (batchId, repeats) {
|
|
310
255
|
if (repeats === void 0) { repeats = 0; }
|
|
311
256
|
return __awaiter(this, void 0, void 0, function () {
|
|
312
|
-
var batchProcessState,
|
|
257
|
+
var batchProcessState, e_1;
|
|
313
258
|
return __generator(this, function (_a) {
|
|
314
259
|
switch (_a.label) {
|
|
315
260
|
case 0:
|
|
@@ -319,16 +264,12 @@ var ContactApi = (function (_super) {
|
|
|
319
264
|
batchProcessState = _a.sent();
|
|
320
265
|
return [3, 3];
|
|
321
266
|
case 2:
|
|
322
|
-
|
|
267
|
+
e_1 = _a.sent();
|
|
323
268
|
if (repeats < constants_1.FAILED_REQUEST_REPEATS) {
|
|
324
269
|
return [2, this.polling(batchId, repeats + 1)];
|
|
325
270
|
}
|
|
326
|
-
throw
|
|
327
|
-
case 3:
|
|
328
|
-
if (batchProcessState.status === types_contacts_api_1.BatchProcessStatus.failed) {
|
|
329
|
-
throw new Error(batchProcessState.messages.join(', '));
|
|
330
|
-
}
|
|
331
|
-
return [2, batchProcessState.status === types_contacts_api_1.BatchProcessStatus.pending ? this.polling(batchId) : batchProcessState];
|
|
271
|
+
throw e_1;
|
|
272
|
+
case 3: return [2, batchProcessState.status === 'pending' ? this.polling(batchId) : batchProcessState];
|
|
332
273
|
}
|
|
333
274
|
});
|
|
334
275
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utils.js
CHANGED
|
@@ -20,7 +20,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
20
20
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
21
|
};
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.
|
|
23
|
+
exports.chunkArrByMaxSize = exports.getObjectSizeInBytes = exports.adaptListParams = void 0;
|
|
24
24
|
var propertyToEscape = ['from', 'size', 'orderProperty', 'orderDirection'];
|
|
25
25
|
var adaptListParams = function (params) {
|
|
26
26
|
var toInclude = Object.keys(params).reduce(function (acc, k) {
|
|
@@ -49,14 +49,4 @@ var chunkArrByMaxSize = function (arr, maxSize) {
|
|
|
49
49
|
return __spreadArray(__spreadArray([], (0, exports.chunkArrByMaxSize)(arr.slice(0, mid), maxSize), true), (0, exports.chunkArrByMaxSize)(arr.slice(mid), maxSize), true);
|
|
50
50
|
};
|
|
51
51
|
exports.chunkArrByMaxSize = chunkArrByMaxSize;
|
|
52
|
-
function debouncePromise(caller, delay, reject) {
|
|
53
|
-
var timeout = null;
|
|
54
|
-
return new Promise(function (res) {
|
|
55
|
-
if (timeout) {
|
|
56
|
-
clearTimeout(timeout);
|
|
57
|
-
}
|
|
58
|
-
timeout = setTimeout(function () { return caller().then(function (x) { return res(x); }).catch(function (err) { return reject && reject(err); }); }, delay);
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
exports.debouncePromise = debouncePromise;
|
|
62
52
|
//# sourceMappingURL=utils.js.map
|
package/dist/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAU,CAAC;AAG/E,IAAM,eAAe,GAAG,UAC7B,MAAS;IAET,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAa,UAAC,GAAG,EAAE,CAAC;QAC9D,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAoC,CAAC,KAAK,CAAC,CAAC,EAAE;YACxE,GAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAgB,CAAC,CAAC;IAErB,+CACK,SAAS,GACT,CACD,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC;QAC/C,EAAE,KAAK,EAAE,UAAG,MAAM,CAAC,aAAa,cAAI,MAAM,CAAC,cAAc,CAAE,EAAE,CAC9D,GACE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,GACtC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EACzC;AACJ,CAAC,CAAC;AAnBW,QAAA,eAAe,mBAmB1B;AAEK,IAAM,oBAAoB,GAAG,UAAI,GAAM,IAAa,OAAA,MAAM;KAC9D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7C,MAAM,EAFkD,CAElD,CAAC;AAFG,QAAA,oBAAoB,wBAEvB;AAEH,IAAM,iBAAiB,GAAG,UAAI,GAAQ,EAAE,OAAe;IAC5D,IAAM,IAAI,GAAG,IAAA,4BAAoB,EAAC,GAAG,CAAC,CAAC;IAEvC,IAAI,IAAI,GAAG,OAAO,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,CAAC;KACd;SAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IACD,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,uCACK,IAAA,yBAAiB,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,SAC7C,IAAA,yBAAiB,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,QAC7C;AACJ,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAU,CAAC;AAG/E,IAAM,eAAe,GAAG,UAC7B,MAAS;IAET,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAa,UAAC,GAAG,EAAE,CAAC;QAC9D,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAoC,CAAC,KAAK,CAAC,CAAC,EAAE;YACxE,GAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAgB,CAAC,CAAC;IAErB,+CACK,SAAS,GACT,CACD,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC;QAC/C,EAAE,KAAK,EAAE,UAAG,MAAM,CAAC,aAAa,cAAI,MAAM,CAAC,cAAc,CAAE,EAAE,CAC9D,GACE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,GACtC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EACzC;AACJ,CAAC,CAAC;AAnBW,QAAA,eAAe,mBAmB1B;AAEK,IAAM,oBAAoB,GAAG,UAAI,GAAM,IAAa,OAAA,MAAM;KAC9D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7C,MAAM,EAFkD,CAElD,CAAC;AAFG,QAAA,oBAAoB,wBAEvB;AAEH,IAAM,iBAAiB,GAAG,UAAI,GAAQ,EAAE,OAAe;IAC5D,IAAM,IAAI,GAAG,IAAA,4BAAoB,EAAC,GAAG,CAAC,CAAC;IAEvC,IAAI,IAAI,GAAG,OAAO,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,CAAC;KACd;SAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IACD,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,uCACK,IAAA,yBAAiB,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,SAC7C,IAAA,yBAAiB,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,QAC7C;AACJ,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B"}
|
|
@@ -18,9 +18,8 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
18
18
|
}
|
|
19
19
|
return t;
|
|
20
20
|
};
|
|
21
|
-
import { BatchProcessStatus, } from '@onereach/types-contacts-api';
|
|
22
21
|
import { BaseApi } from './baseApi';
|
|
23
|
-
import { getObjectSizeInBytes, chunkArrByMaxSize
|
|
22
|
+
import { getObjectSizeInBytes, chunkArrByMaxSize } from '../utils';
|
|
24
23
|
import { REQUEST_PAYLOAD_MAX_BYTES, FAILED_REQUEST_REPEATS, CONTACTS_DELETE_MAX_AMOUNT } from '../constants';
|
|
25
24
|
export default class ContactApi extends BaseApi {
|
|
26
25
|
constructor(apiCall, batchProcessApi) {
|
|
@@ -74,16 +73,15 @@ export default class ContactApi extends BaseApi {
|
|
|
74
73
|
data,
|
|
75
74
|
});
|
|
76
75
|
}
|
|
77
|
-
bulkCreateContacts(data
|
|
76
|
+
bulkCreateContacts(data) {
|
|
78
77
|
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
console.log(data);
|
|
79
79
|
const { contacts } = data, rest = __rest(data, ["contacts"]);
|
|
80
|
-
console.log('contacts amount = ', contacts.length);
|
|
81
80
|
const contactsMaxSize = REQUEST_PAYLOAD_MAX_BYTES - getObjectSizeInBytes(Object.assign({}, rest));
|
|
82
81
|
const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
|
|
83
|
-
console.log('chunks amount = ', contactsChunks.length);
|
|
84
82
|
return contactsChunks.length === 1
|
|
85
83
|
? this.createContactsInSingleBatch(data)
|
|
86
|
-
: this.createContactsInMultiBatches(contactsChunks, rest
|
|
84
|
+
: this.createContactsInMultiBatches(contactsChunks, rest);
|
|
87
85
|
});
|
|
88
86
|
}
|
|
89
87
|
mergeContacts(id, data) {
|
|
@@ -121,18 +119,6 @@ export default class ContactApi extends BaseApi {
|
|
|
121
119
|
data,
|
|
122
120
|
});
|
|
123
121
|
}
|
|
124
|
-
getSafelyContactsList(contactIds, bookId, repeats) {
|
|
125
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
-
const contacts = yield this.listContact(Object.assign({ contactIds }, (bookId && { contact_book: bookId }))).catch((e) => {
|
|
127
|
-
repeats = repeats || 0;
|
|
128
|
-
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
129
|
-
return this.getSafelyContactsList(contactIds, bookId, repeats + 1);
|
|
130
|
-
}
|
|
131
|
-
throw new Error(e);
|
|
132
|
-
});
|
|
133
|
-
return contacts;
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
122
|
bulkDeleteContacts(data) {
|
|
137
123
|
return __awaiter(this, void 0, void 0, function* () {
|
|
138
124
|
const batchProcess = yield this.apiCall({
|
|
@@ -143,43 +129,26 @@ export default class ContactApi extends BaseApi {
|
|
|
143
129
|
yield this.polling(batchProcess.id);
|
|
144
130
|
});
|
|
145
131
|
}
|
|
146
|
-
createContactsInSingleBatch(data
|
|
132
|
+
createContactsInSingleBatch(data) {
|
|
147
133
|
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const batchProcessResult = yield this.polling(batchProcess.id);
|
|
156
|
-
const contactIds = batchProcessResult.results.flatMap(i => JSON.parse(i));
|
|
157
|
-
const importedContacts = yield this.getSafelyContactsList(contactIds, data.contact_book);
|
|
158
|
-
contacts = importedContacts.items;
|
|
159
|
-
}
|
|
160
|
-
catch (e) {
|
|
161
|
-
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
162
|
-
return debouncePromise(() => this.createContactsInSingleBatch(data, repeats + 1), 5000);
|
|
163
|
-
}
|
|
164
|
-
throw e;
|
|
165
|
-
}
|
|
166
|
-
return contacts;
|
|
134
|
+
const batchProcess = yield this.apiCall({
|
|
135
|
+
method: 'POST',
|
|
136
|
+
route: `${this.apiBasePath}/bulk`,
|
|
137
|
+
data,
|
|
138
|
+
});
|
|
139
|
+
const batchProcessResult = yield this.polling(batchProcess.id);
|
|
140
|
+
return batchProcessResult.results.flatMap(i => JSON.parse(i));
|
|
167
141
|
});
|
|
168
142
|
}
|
|
169
|
-
createContactsInMultiBatches(contactsChunks, data
|
|
143
|
+
createContactsInMultiBatches(contactsChunks, data) {
|
|
170
144
|
return __awaiter(this, void 0, void 0, function* () {
|
|
171
|
-
const batchPromises = contactsChunks.map((
|
|
172
|
-
return this.createContactsInSingleBatch(Object.assign({ contacts }, data));
|
|
145
|
+
const batchPromises = contactsChunks.map((chunkContacts) => () => __awaiter(this, void 0, void 0, function* () {
|
|
146
|
+
return this.createContactsInSingleBatch(Object.assign({ contacts: chunkContacts }, data));
|
|
173
147
|
}));
|
|
174
148
|
const results = [];
|
|
175
|
-
const
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
const chunk = batchPromises.slice(i, i + promisesBatchSize);
|
|
179
|
-
const chunkResults = yield Promise.all(chunk.map((p) => p()));
|
|
180
|
-
results.push(...chunkResults.reduce((acc, r) => ([...acc, ...r]), []));
|
|
181
|
-
const e = performance.now();
|
|
182
|
-
console.log('BATCH ', i, ' resolved for ', (e - s) / 1000, 's');
|
|
149
|
+
for (const fn of batchPromises) {
|
|
150
|
+
const singleBatchResults = yield fn();
|
|
151
|
+
results.push(...singleBatchResults);
|
|
183
152
|
}
|
|
184
153
|
return results;
|
|
185
154
|
});
|
|
@@ -196,10 +165,7 @@ export default class ContactApi extends BaseApi {
|
|
|
196
165
|
}
|
|
197
166
|
throw e;
|
|
198
167
|
}
|
|
199
|
-
|
|
200
|
-
throw new Error(batchProcessState.messages.join(', '));
|
|
201
|
-
}
|
|
202
|
-
return batchProcessState.status === BatchProcessStatus.pending ? this.polling(batchId) : batchProcessState;
|
|
168
|
+
return batchProcessState.status === 'pending' ? this.polling(batchId) : batchProcessState;
|
|
203
169
|
});
|
|
204
170
|
}
|
|
205
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils.js
CHANGED
|
@@ -26,13 +26,4 @@ export const chunkArrByMaxSize = (arr, maxSize) => {
|
|
|
26
26
|
...chunkArrByMaxSize(arr.slice(mid), maxSize),
|
|
27
27
|
];
|
|
28
28
|
};
|
|
29
|
-
export function debouncePromise(caller, delay, reject) {
|
|
30
|
-
let timeout = null;
|
|
31
|
-
return new Promise((res) => {
|
|
32
|
-
if (timeout) {
|
|
33
|
-
clearTimeout(timeout);
|
|
34
|
-
}
|
|
35
|
-
timeout = setTimeout(() => caller().then((x) => res(x)).catch((err) => reject && reject(err)), delay);
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
29
|
//# sourceMappingURL=utils.js.map
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAGA,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAU,CAAC;AAGtF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAS,EAC0C,EAAE;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAa,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAClE,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAoC,CAAC,KAAK,CAAC,CAAC,EAAE;YACxE,GAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAgB,CAAC,CAAC;IAErB,mEACK,SAAS,GACT,CACD,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC;QAC/C,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,CAC9D,GACE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,GACtC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EACzC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAI,GAAM,EAAU,EAAE,CAAC,MAAM;KAC9D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7C,MAAM,CAAC;AAEV,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,GAAQ,EAAE,OAAe,EAAS,EAAE;IACvE,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAEvC,IAAI,IAAI,GAAG,OAAO,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,CAAC;KACd;SAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,OAAO;QACL,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC;QAChD,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;KAC9C,CAAC;AACJ,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAGA,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAU,CAAC;AAGtF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAS,EAC0C,EAAE;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAa,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAClE,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAoC,CAAC,KAAK,CAAC,CAAC,EAAE;YACxE,GAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAgB,CAAC,CAAC;IAErB,mEACK,SAAS,GACT,CACD,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC;QAC/C,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,CAC9D,GACE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,GACtC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EACzC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAI,GAAM,EAAU,EAAE,CAAC,MAAM;KAC9D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7C,MAAM,CAAC;AAEV,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,GAAQ,EAAE,OAAe,EAAS,EAAE;IACvE,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAEvC,IAAI,IAAI,GAAG,OAAO,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,CAAC;KACd;SAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,OAAO;QACL,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC;QAChD,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;KAC9C,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -13,13 +13,12 @@ export default class ContactApi extends BaseApi {
|
|
|
13
13
|
deleteContact(id: string, data: DeleteContactParamsDto): Promise<void>;
|
|
14
14
|
deleteMulti(data: DeleteContactMultiParamsDto): Promise<void>;
|
|
15
15
|
createContact(data: CreateContactDto): Promise<ContactResponseDto>;
|
|
16
|
-
bulkCreateContacts(data: CreateMultipleContactsDto
|
|
16
|
+
bulkCreateContacts(data: CreateMultipleContactsDto): Promise<string[]>;
|
|
17
17
|
mergeContacts(id: string, data: MergeContactParamsDto): Promise<ContactResponseDto>;
|
|
18
18
|
linkContact(id: string, data: LinkContactParamsDto): Promise<void>;
|
|
19
19
|
linkContactsMulti(data: LinkContactMultiParamsDto): Promise<void>;
|
|
20
20
|
unlinkContact(id: string, data: UnlinkContactParamsDto): Promise<void>;
|
|
21
21
|
unlinkContactsMulti(data: UnlinkContactMultiParamsDto): Promise<void>;
|
|
22
|
-
private getSafelyContactsList;
|
|
23
22
|
private bulkDeleteContacts;
|
|
24
23
|
private createContactsInSingleBatch;
|
|
25
24
|
private createContactsInMultiBatches;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactApi.d.ts","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"contactApi.d.ts","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,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;AAIhD,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;IAiB5E,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;YAU3B,4BAA4B;YAoB5B,OAAO;CActB"}
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -8,6 +8,5 @@ export declare const adaptListParams: <T extends AdaptedListParams<{
|
|
|
8
8
|
}>>(params: T) => Omitted<T> & Partial<ListApiParams & OrderParams>;
|
|
9
9
|
export declare const getObjectSizeInBytes: <T>(obj: T) => number;
|
|
10
10
|
export declare const chunkArrByMaxSize: <T>(arr: T[], maxSize: number) => T[][];
|
|
11
|
-
export declare function debouncePromise<T>(caller: () => Promise<T>, delay: number, reject?: (value: string | T | PromiseLike<T>) => void): Promise<T>;
|
|
12
11
|
export {};
|
|
13
12
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,QAAA,MAAM,gBAAgB,8DAA+D,CAAC;AACtF,aAAK,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAE3D,eAAO,MAAM,eAAe;;;mEAmB3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,iBAAgB,MAExC,CAAC;AAEV,eAAO,MAAM,iBAAiB,yBAA0B,MAAM,UAa7D,CAAC
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,QAAA,MAAM,gBAAgB,8DAA+D,CAAC;AACtF,aAAK,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAE3D,eAAO,MAAM,eAAe;;;mEAmB3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,iBAAgB,MAExC,CAAC;AAEV,eAAO,MAAM,iBAAiB,yBAA0B,MAAM,UAa7D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.2.2-beta.
|
|
2
|
+
"version": "3.2.2-beta.1752.0",
|
|
3
3
|
"name": "@or-sdk/contacts",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@onereach/types-contacts-api": "4.3.
|
|
27
|
+
"@onereach/types-contacts-api": "4.3.2-beta.2135.0",
|
|
28
28
|
"@or-sdk/base": "^0.28.3"
|
|
29
29
|
}
|
|
30
30
|
}
|
package/src/api/contactApi.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BatchProcessResponseDto,
|
|
3
|
-
BatchProcessStatus,
|
|
4
3
|
ContactParamsDto,
|
|
5
4
|
ContactRequestDto,
|
|
6
5
|
ContactResponseDto,
|
|
@@ -19,7 +18,7 @@ import {
|
|
|
19
18
|
import { CalApiParams, List } from '@or-sdk/base';
|
|
20
19
|
import { BaseApi } from './baseApi';
|
|
21
20
|
import BatchProcessApi from './batchProcessApi';
|
|
22
|
-
import { getObjectSizeInBytes, chunkArrByMaxSize
|
|
21
|
+
import { getObjectSizeInBytes, chunkArrByMaxSize } from '../utils';
|
|
23
22
|
import { REQUEST_PAYLOAD_MAX_BYTES, FAILED_REQUEST_REPEATS, CONTACTS_DELETE_MAX_AMOUNT } from '../constants';
|
|
24
23
|
|
|
25
24
|
export default class ContactApi extends BaseApi {
|
|
@@ -113,19 +112,17 @@ export default class ContactApi extends BaseApi {
|
|
|
113
112
|
|
|
114
113
|
/**
|
|
115
114
|
* @description Create Contacts either in single or in multi batch(es), depending on payload size
|
|
116
|
-
* @param data
|
|
117
115
|
*/
|
|
118
|
-
async bulkCreateContacts(data: CreateMultipleContactsDto
|
|
119
|
-
const { contacts, ...rest } = data;
|
|
116
|
+
async bulkCreateContacts(data: CreateMultipleContactsDto): Promise<string[]> {
|
|
120
117
|
// eslint-disable-next-line no-console
|
|
121
|
-
console.log(
|
|
118
|
+
console.log(data);
|
|
119
|
+
const { contacts, ...rest } = data;
|
|
122
120
|
const contactsMaxSize = REQUEST_PAYLOAD_MAX_BYTES - getObjectSizeInBytes({ ...rest });
|
|
123
121
|
const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
|
|
124
|
-
|
|
125
|
-
console.log('chunks amount = ', contactsChunks.length);
|
|
122
|
+
|
|
126
123
|
return contactsChunks.length === 1
|
|
127
124
|
? this.createContactsInSingleBatch(data)
|
|
128
|
-
: this.createContactsInMultiBatches(contactsChunks, rest
|
|
125
|
+
: this.createContactsInMultiBatches(contactsChunks, rest);
|
|
129
126
|
}
|
|
130
127
|
|
|
131
128
|
/**
|
|
@@ -191,24 +188,6 @@ export default class ContactApi extends BaseApi {
|
|
|
191
188
|
});
|
|
192
189
|
}
|
|
193
190
|
|
|
194
|
-
private async getSafelyContactsList(
|
|
195
|
-
contactIds: string[],
|
|
196
|
-
bookId: string | undefined,
|
|
197
|
-
repeats?: number
|
|
198
|
-
): Promise<List<ContactResponseDto>> {
|
|
199
|
-
const contacts = await this.listContact({
|
|
200
|
-
contactIds,
|
|
201
|
-
...(bookId && { contact_book: bookId }),
|
|
202
|
-
}).catch((e) => {
|
|
203
|
-
repeats = repeats || 0;
|
|
204
|
-
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
205
|
-
return this.getSafelyContactsList(contactIds, bookId, repeats + 1);
|
|
206
|
-
}
|
|
207
|
-
throw new Error(e);
|
|
208
|
-
});
|
|
209
|
-
return contacts;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
191
|
private async bulkDeleteContacts(data: DeleteContactMultiParamsDto): Promise<void> {
|
|
213
192
|
const batchProcess = await this.apiCall<BatchProcessResponseDto>({
|
|
214
193
|
method: 'DELETE',
|
|
@@ -218,52 +197,29 @@ export default class ContactApi extends BaseApi {
|
|
|
218
197
|
await this.polling(batchProcess.id);
|
|
219
198
|
}
|
|
220
199
|
|
|
221
|
-
private async createContactsInSingleBatch(
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
route: `${this.apiBasePath}/bulk`,
|
|
230
|
-
data,
|
|
231
|
-
});
|
|
232
|
-
const batchProcessResult = await this.polling(batchProcess.id);
|
|
233
|
-
const contactIds = batchProcessResult.results.flatMap<string>(i => JSON.parse(i));
|
|
234
|
-
const importedContacts = await this.getSafelyContactsList(contactIds, data.contact_book);
|
|
235
|
-
contacts = importedContacts.items;
|
|
236
|
-
} catch (e) {
|
|
237
|
-
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
238
|
-
return debouncePromise(() => this.createContactsInSingleBatch(data, repeats + 1), 5000);
|
|
239
|
-
}
|
|
240
|
-
throw e;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
return contacts;
|
|
200
|
+
private async createContactsInSingleBatch(data: CreateMultipleContactsDto): Promise<string[]> {
|
|
201
|
+
const batchProcess = await this.apiCall<BatchProcessResponseDto>({
|
|
202
|
+
method: 'POST',
|
|
203
|
+
route: `${this.apiBasePath}/bulk`,
|
|
204
|
+
data,
|
|
205
|
+
});
|
|
206
|
+
const batchProcessResult = await this.polling(batchProcess.id);
|
|
207
|
+
return batchProcessResult.results.flatMap<string>(i => JSON.parse(i));
|
|
244
208
|
}
|
|
245
209
|
|
|
246
210
|
private async createContactsInMultiBatches(
|
|
247
211
|
contactsChunks: ContactRequestDto[][],
|
|
248
|
-
data: Omit<CreateMultipleContactsDto, 'contacts'
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
for (let i = 0;i < batchPromises.length;i += promisesBatchSize) {
|
|
260
|
-
const s = performance.now();
|
|
261
|
-
const chunk = batchPromises.slice(i, i + promisesBatchSize);
|
|
262
|
-
const chunkResults = await Promise.all(chunk.map((p) => p()));
|
|
263
|
-
results.push(...chunkResults.reduce((acc, r) => ([...acc, ...r]), []));
|
|
264
|
-
const e = performance.now();
|
|
265
|
-
// eslint-disable-next-line no-console
|
|
266
|
-
console.log('BATCH ', i, ' resolved for ', (e - s) / 1000, 's');
|
|
212
|
+
data: Omit<CreateMultipleContactsDto, 'contacts'>
|
|
213
|
+
): Promise<string[]> {
|
|
214
|
+
const batchPromises = contactsChunks.map((chunkContacts) => async () => this.createContactsInSingleBatch({
|
|
215
|
+
contacts: chunkContacts,
|
|
216
|
+
...data,
|
|
217
|
+
}));
|
|
218
|
+
|
|
219
|
+
const results: string[] = [];
|
|
220
|
+
for (const fn of batchPromises) {
|
|
221
|
+
const singleBatchResults = await fn();
|
|
222
|
+
results.push(...singleBatchResults);
|
|
267
223
|
}
|
|
268
224
|
return results;
|
|
269
225
|
}
|
|
@@ -281,16 +237,8 @@ export default class ContactApi extends BaseApi {
|
|
|
281
237
|
}
|
|
282
238
|
throw e;
|
|
283
239
|
}
|
|
284
|
-
// const batchProcessState = await this.batchProcessApi.getBatchProcess(batchId).catch((e) => {
|
|
285
|
-
// if (repeats < FAILED_REQUEST_REPEATS) {
|
|
286
|
-
// return this.polling(batchId, repeats + 1);
|
|
287
|
-
// }
|
|
288
|
-
// throw e;
|
|
289
|
-
// });
|
|
290
240
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
}
|
|
294
|
-
return batchProcessState.status === BatchProcessStatus.pending ? this.polling(batchId) : batchProcessState;
|
|
241
|
+
// value 'pending' is used because of https://onereach.atlassian.net/browse/CU-562
|
|
242
|
+
return batchProcessState.status === 'pending' ? this.polling(batchId) : batchProcessState;
|
|
295
243
|
}
|
|
296
244
|
}
|
package/src/utils.ts
CHANGED
|
@@ -43,19 +43,3 @@ export const chunkArrByMaxSize = <T>(arr: T[], maxSize: number): T[][] => {
|
|
|
43
43
|
...chunkArrByMaxSize(arr.slice(mid), maxSize),
|
|
44
44
|
];
|
|
45
45
|
};
|
|
46
|
-
|
|
47
|
-
export function debouncePromise<T>(
|
|
48
|
-
caller: () => Promise<T>,
|
|
49
|
-
delay: number,
|
|
50
|
-
reject?: (value: string | T | PromiseLike<T>) => void
|
|
51
|
-
): Promise<T> {
|
|
52
|
-
let timeout: NodeJS.Timeout | null = null;
|
|
53
|
-
|
|
54
|
-
return new Promise<T>((res) => {
|
|
55
|
-
if (timeout) {
|
|
56
|
-
clearTimeout(timeout);
|
|
57
|
-
}
|
|
58
|
-
timeout = setTimeout(() => caller().then((x) => res(x)).catch((err) => reject && reject(err)), delay);
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
|