@or-sdk/contacts 4.0.2-beta.2364.0 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +37 -0
- package/dist/cjs/api/baseWithPolingApi.js +28 -12
- package/dist/cjs/api/baseWithPolingApi.js.map +1 -1
- package/dist/cjs/api/bulkContactsCreateApi.js +152 -123
- package/dist/cjs/api/bulkContactsCreateApi.js.map +1 -1
- package/dist/cjs/constants.js +3 -2
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/utils.js +10 -2
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/api/baseWithPolingApi.js +15 -7
- package/dist/esm/api/baseWithPolingApi.js.map +1 -1
- package/dist/esm/api/bulkContactsCreateApi.js +82 -54
- package/dist/esm/api/bulkContactsCreateApi.js.map +1 -1
- package/dist/esm/constants.js +2 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/utils.js +7 -1
- package/dist/esm/utils.js.map +1 -1
- package/dist/types/api/baseWithPolingApi.d.ts +4 -1
- package/dist/types/api/baseWithPolingApi.d.ts.map +1 -1
- package/dist/types/api/bulkContactsCreateApi.d.ts +2 -2
- package/dist/types/api/bulkContactsCreateApi.d.ts.map +1 -1
- package/dist/types/constants.d.ts +2 -1
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/types.d.ts +9 -1
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils.d.ts +1 -0
- package/dist/types/utils.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/api/baseWithPolingApi.ts +22 -7
- package/src/api/bulkContactsCreateApi.ts +141 -64
- package/src/constants.ts +3 -1
- package/src/types.ts +9 -1
- package/src/utils.ts +8 -1
|
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { BaseApi } from './baseApi';
|
|
11
11
|
import { BatchProcessStatus } from '@onereach/types-contacts-api';
|
|
12
12
|
import { debouncePromise } from '../utils';
|
|
13
|
-
import { FAILED_REQUEST_REPEATS } from '../constants';
|
|
13
|
+
import { FAILED_REQUEST_REPEATS, BULK_POLING_PAUSE_DURATION } from '../constants';
|
|
14
14
|
import { CreateContactsBatchError } from '../apiError';
|
|
15
15
|
export default class BaseWithPoling extends BaseApi {
|
|
16
16
|
constructor(apiCall, batchProcessApi) {
|
|
@@ -18,20 +18,28 @@ export default class BaseWithPoling extends BaseApi {
|
|
|
18
18
|
this.apiCall = apiCall;
|
|
19
19
|
this.batchProcessApi = batchProcessApi;
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
setLogger(logger) {
|
|
22
|
+
this.logger = logger;
|
|
23
|
+
}
|
|
24
|
+
polling(batchId, polingDuration = BULK_POLING_PAUSE_DURATION, repeats = 0) {
|
|
25
|
+
var _a;
|
|
22
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
23
27
|
let batchProcess;
|
|
24
28
|
try {
|
|
25
|
-
batchProcess = yield debouncePromise(() => this.batchProcessApi.getBatchProcess(batchId),
|
|
29
|
+
batchProcess = yield debouncePromise(() => this.batchProcessApi.getBatchProcess(batchId), polingDuration);
|
|
26
30
|
}
|
|
27
31
|
catch (e) {
|
|
28
32
|
if (repeats < FAILED_REQUEST_REPEATS
|
|
29
33
|
&& 'statusCode' in e
|
|
30
|
-
&& e.statusCode ===
|
|
31
|
-
|
|
34
|
+
&& e.statusCode === 'ERR_BAD_REQUEST') {
|
|
35
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.log(batchId, ' NOT FOUND IN POLING');
|
|
36
|
+
return yield debouncePromise(() => __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
const result = yield this.polling(batchId, polingDuration, repeats + 1);
|
|
38
|
+
return result;
|
|
39
|
+
}), (repeats + 1) * polingDuration);
|
|
32
40
|
}
|
|
33
41
|
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
34
|
-
return this.polling(batchId, repeats + 1);
|
|
42
|
+
return this.polling(batchId, polingDuration, repeats + 1);
|
|
35
43
|
}
|
|
36
44
|
throw new CreateContactsBatchError(e.message, batchId);
|
|
37
45
|
}
|
|
@@ -39,7 +47,7 @@ export default class BaseWithPoling extends BaseApi {
|
|
|
39
47
|
throw new CreateContactsBatchError('Could not complete batch process', batchId, batchProcess.messages);
|
|
40
48
|
}
|
|
41
49
|
return batchProcess.status === BatchProcessStatus.pending
|
|
42
|
-
? this.polling(batchId)
|
|
50
|
+
? this.polling(batchId, polingDuration)
|
|
43
51
|
: batchProcess;
|
|
44
52
|
});
|
|
45
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseWithPolingApi.js","sourceRoot":"","sources":["../../../src/api/baseWithPolingApi.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAA2B,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"baseWithPolingApi.js","sourceRoot":"","sources":["../../../src/api/baseWithPolingApi.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAA2B,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAY,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGjE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAGjD,YACqB,OAAgD,EACzD,eAAgC;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAC;QAHI,YAAO,GAAP,OAAO,CAAyC;QACzD,oBAAe,GAAf,eAAe,CAAiB;IAG5C,CAAC;IAES,SAAS,CAAC,MAA8B;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAKe,OAAO,CACrB,OAAe,EACf,cAAc,GAAG,0BAA0B,EAC3C,OAAO,GAAG,CAAC;;;YAEX,IAAI,YAAqC,CAAC;YAE1C,IAAI;gBACF,YAAY,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;aAC3G;YAAC,OAAO,CAAC,EAAE;gBACV,IACE,OAAO,GAAG,sBAAsB;uBAC7B,YAAY,IAAK,CAAY;uBAC5B,CAAyB,CAAC,UAAU,KAAK,iBAAiB,EAC9D;oBACA,MAAA,IAAI,CAAC,MAAM,0CAAE,GAAG,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;oBAClD,OAAO,MAAM,eAAe,CAAC,GAAS,EAAE;wBACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;wBACxE,OAAO,MAAM,CAAC;oBAChB,CAAC,CAAA,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;iBACpC;gBACD,IAAI,OAAO,GAAG,sBAAsB,EAAE;oBACpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;iBAC3D;gBACD,MAAM,IAAI,wBAAwB,CAAE,CAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAC9E;YAED,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAAE;gBACrD,MAAM,IAAI,wBAAwB,CAChC,kCAAkC,EAClC,OAAO,EACP,YAAY,CAAC,QAAQ,CACtB,CAAC;aACH;YAED,OAAO,YAAY,CAAC,MAAM,KAAK,kBAAkB,CAAC,OAAO;gBACvD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC;gBACvC,CAAC,CAAC,YAAY,CAAC;;KAClB;CACF"}
|
|
@@ -38,8 +38,8 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
|
|
|
38
38
|
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
39
39
|
};
|
|
40
40
|
import BaseWithPoling from './baseWithPolingApi';
|
|
41
|
-
import { REQUEST_PAYLOAD_MAX_BYTES, MAX_PARALLEL_BATCH_PROCESSING,
|
|
42
|
-
import { chunkArrByMaxSize, debouncePromise, getObjectSizeInBytes } from '../utils';
|
|
41
|
+
import { REQUEST_PAYLOAD_MAX_BYTES, MAX_PARALLEL_BATCH_PROCESSING, BULK_FAILED_SERIES_REPEAT_IN, } from '../constants';
|
|
42
|
+
import { chunkArrByMaxSize, debouncePromise, getObjectSizeInBytes, mergeObjects } from '../utils';
|
|
43
43
|
import { v4 } from 'uuid';
|
|
44
44
|
export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
45
45
|
constructor(apiCall, batchProcessApi) {
|
|
@@ -72,31 +72,54 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
72
72
|
};
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
|
+
logBulkDetails(size, totalContacts, totalBatches, options) {
|
|
76
|
+
options.logger.log('data size = ', size, ' bytes');
|
|
77
|
+
options.logger.log('total contacts = ', totalContacts);
|
|
78
|
+
options.logger.log('batches amount = ', totalBatches);
|
|
79
|
+
options.logger.log('average batch size ~ ', Math.ceil(totalContacts / totalBatches), ' contacts');
|
|
80
|
+
options.logger.log('parallel batches size = ', options.parallelBatchesAmount || MAX_PARALLEL_BATCH_PROCESSING);
|
|
81
|
+
options.logger.log('batch size = ', options.batchSize || REQUEST_PAYLOAD_MAX_BYTES, ' bytes');
|
|
82
|
+
}
|
|
75
83
|
trackBulkCreateContacts(bulkName, data, options = {}) {
|
|
84
|
+
var _a, _b;
|
|
76
85
|
return __asyncGenerator(this, arguments, function* trackBulkCreateContacts_1() {
|
|
77
|
-
var e_2,
|
|
86
|
+
var e_2, _c;
|
|
87
|
+
this.setLogger(options.logger);
|
|
88
|
+
(_a = options.logger) === null || _a === void 0 ? void 0 : _a.log('Starting ', bulkName, ' bulk');
|
|
89
|
+
const startTime = performance.now();
|
|
78
90
|
const dataWithContactKeys = this.updateContactsWithContactKeys(data);
|
|
91
|
+
const { contacts } = dataWithContactKeys, rest = __rest(dataWithContactKeys, ["contacts"]);
|
|
92
|
+
const contactsMaxSize = options.batchSize || REQUEST_PAYLOAD_MAX_BYTES - getObjectSizeInBytes(Object.assign({}, rest));
|
|
93
|
+
const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
|
|
94
|
+
if (options.logger) {
|
|
95
|
+
this.logBulkDetails(getObjectSizeInBytes(data), contacts.length, contactsChunks.length, options);
|
|
96
|
+
}
|
|
79
97
|
try {
|
|
80
|
-
const { contacts } = dataWithContactKeys, rest = __rest(dataWithContactKeys, ["contacts"]);
|
|
81
|
-
const contactsMaxSize = options.batchSize || REQUEST_PAYLOAD_MAX_BYTES - getObjectSizeInBytes(Object.assign({}, rest));
|
|
82
|
-
const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
|
|
83
98
|
if (contactsChunks.length === 1 || options.batchesToProcess === 1) {
|
|
84
|
-
yield __await(this.createContactsInSingleBatch(dataWithContactKeys,
|
|
99
|
+
const results = yield __await(this.createContactsInSingleBatch(bulkName, Object.assign(Object.assign({}, dataWithContactKeys), { batchIdx: 0 }), options));
|
|
100
|
+
yield yield __await({
|
|
101
|
+
type: 'results',
|
|
102
|
+
results: this.mergeResults({
|
|
103
|
+
created: {},
|
|
104
|
+
failed: {},
|
|
105
|
+
}, [results]),
|
|
106
|
+
});
|
|
85
107
|
}
|
|
86
108
|
else {
|
|
87
109
|
try {
|
|
88
|
-
for (var
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
110
|
+
for (var _d = __asyncValues(this.createContactsInMultiBatches(contactsChunks, rest, bulkName, options)), _e; _e = yield __await(_d.next()), !_e.done;) {
|
|
111
|
+
const results = _e.value;
|
|
112
|
+
if (results.type === 'results') {
|
|
113
|
+
const endTime = performance.now();
|
|
114
|
+
(_b = options.logger) === null || _b === void 0 ? void 0 : _b.log(`Bulk ${bulkName} completed for ${Math.floor((endTime - startTime) / 1000)} seconds`);
|
|
115
|
+
}
|
|
116
|
+
yield yield __await(results);
|
|
94
117
|
}
|
|
95
118
|
}
|
|
96
119
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
97
120
|
finally {
|
|
98
121
|
try {
|
|
99
|
-
if (
|
|
122
|
+
if (_e && !_e.done && (_c = _d.return)) yield __await(_c.call(_d));
|
|
100
123
|
}
|
|
101
124
|
finally { if (e_2) throw e_2.error; }
|
|
102
125
|
}
|
|
@@ -104,11 +127,6 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
104
127
|
}
|
|
105
128
|
finally {
|
|
106
129
|
}
|
|
107
|
-
const results = yield __await(this.getBulkCreateResults(bulkName, options));
|
|
108
|
-
yield yield __await({
|
|
109
|
-
type: 'results',
|
|
110
|
-
results,
|
|
111
|
-
});
|
|
112
130
|
});
|
|
113
131
|
}
|
|
114
132
|
updateContactsWithContactKeys(data) {
|
|
@@ -148,66 +166,76 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
148
166
|
}
|
|
149
167
|
});
|
|
150
168
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
const { total, results: firstResults, size } = yield this.callGetBulkResults(batchGroupId, 0);
|
|
154
|
-
let results = Object.assign({}, firstResults);
|
|
155
|
-
const pageSize = options.bulkResultsPageSize || BULK_RESULT_PAGE_SIZE;
|
|
156
|
-
if (total > size) {
|
|
157
|
-
for (let i = 1; i <= Math.ceil((total - size) / size); i++) {
|
|
158
|
-
const { results: nextResults } = yield this.callGetBulkResults(batchGroupId, i * pageSize);
|
|
159
|
-
results = {
|
|
160
|
-
created: Object.assign(Object.assign({}, results.created), nextResults.created),
|
|
161
|
-
failed: Object.assign(Object.assign({}, results.failed), nextResults.created),
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
return results;
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
callGetBulkResults(batchGroupId, skip) {
|
|
169
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
-
return this.apiCall({
|
|
171
|
-
method: 'GET',
|
|
172
|
-
route: `${this.apiBasePath}/bulk-results/${batchGroupId}/${skip}`,
|
|
173
|
-
});
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
createContactsInSingleBatch(data, batchGroupId) {
|
|
169
|
+
createContactsInSingleBatch(batchGroupId, singleBatchData, options) {
|
|
170
|
+
var _a;
|
|
177
171
|
return __awaiter(this, void 0, void 0, function* () {
|
|
178
172
|
const batchId = v4();
|
|
173
|
+
const { batchIdx } = singleBatchData, data = __rest(singleBatchData, ["batchIdx"]);
|
|
179
174
|
this.apiCall({
|
|
180
175
|
method: 'POST',
|
|
181
176
|
route: `${this.apiBasePath}/bulk`,
|
|
182
177
|
data: Object.assign(Object.assign({}, data), { batchId,
|
|
183
178
|
batchGroupId }),
|
|
184
179
|
});
|
|
185
|
-
yield debouncePromise(() => this.polling(batchId),
|
|
180
|
+
const batch = yield debouncePromise(() => this.polling(batchId, options.polingDuration), 5000);
|
|
181
|
+
(_a = options.logger) === null || _a === void 0 ? void 0 : _a.log('Completed ', batchIdx, '-th batch');
|
|
182
|
+
return batch;
|
|
186
183
|
});
|
|
187
184
|
}
|
|
185
|
+
mergeResults(current, batchProcesses) {
|
|
186
|
+
return batchProcesses.reduce((acc, batch) => {
|
|
187
|
+
const createdContacts = batch.results.reduce((acc, result) => mergeObjects(acc, JSON.parse(result)), {});
|
|
188
|
+
const failedContacts = batch.messages.reduce((acc, message) => mergeObjects(acc, JSON.parse(message)), {});
|
|
189
|
+
return {
|
|
190
|
+
created: Object.assign(Object.assign({}, acc.created), createdContacts),
|
|
191
|
+
failed: Object.assign(Object.assign({}, acc.failed), failedContacts),
|
|
192
|
+
};
|
|
193
|
+
}, current);
|
|
194
|
+
}
|
|
188
195
|
createContactsInMultiBatches(contactsBatches, data, batchGroupId, options) {
|
|
196
|
+
var _a;
|
|
189
197
|
return __asyncGenerator(this, arguments, function* createContactsInMultiBatches_1() {
|
|
198
|
+
const repeatIn = options.repeatFailedParallelBatchesIn || BULK_FAILED_SERIES_REPEAT_IN;
|
|
190
199
|
const batchPromises = contactsBatches
|
|
191
|
-
.map((chunkContacts) => () =>
|
|
192
|
-
return this.createContactsInSingleBatch(Object.assign({ contacts: chunkContacts }, data), batchGroupId);
|
|
193
|
-
}));
|
|
194
|
-
const parallelBatchesAmount = options.parallelBatchesAmount || MAX_PARALLEL_BATCH_PROCESSING;
|
|
200
|
+
.map((chunkContacts, batchIdx) => () => this.createContactsInSingleBatch(batchGroupId, Object.assign({ batchIdx, contacts: chunkContacts }, data), options));
|
|
195
201
|
const progress = {
|
|
196
202
|
totalBatches: contactsBatches.length,
|
|
197
203
|
totalContacts: contactsBatches.map((b) => b.length).reduce((acc, curr) => acc + curr, 0),
|
|
198
204
|
completedBatches: 0,
|
|
199
205
|
completedContacts: 0,
|
|
200
206
|
};
|
|
207
|
+
let results = {
|
|
208
|
+
created: {},
|
|
209
|
+
failed: {},
|
|
210
|
+
};
|
|
211
|
+
const parallelBatchesAmount = options.parallelBatchesAmount || MAX_PARALLEL_BATCH_PROCESSING;
|
|
201
212
|
for (let i = 0; i < (options.batchesToProcess || batchPromises.length); i += parallelBatchesAmount) {
|
|
202
|
-
const
|
|
203
|
-
|
|
204
|
-
|
|
213
|
+
const startIdx = i;
|
|
214
|
+
const endIdx = i + parallelBatchesAmount;
|
|
215
|
+
const batchesSeries = batchPromises.slice(i, i + parallelBatchesAmount);
|
|
216
|
+
let seriesResults = [];
|
|
217
|
+
try {
|
|
218
|
+
seriesResults = yield __await(Promise.all(batchesSeries.map((p) => p())));
|
|
219
|
+
}
|
|
220
|
+
catch (e) {
|
|
221
|
+
(_a = options.logger) === null || _a === void 0 ? void 0 : _a.log(`Failed to execute of ${parallelBatchesAmount} batches, from ${startIdx} to ${endIdx}, repeating attempt...`);
|
|
222
|
+
seriesResults = yield __await(debouncePromise(() => Promise.all(batchesSeries.map((p) => p())), repeatIn));
|
|
223
|
+
}
|
|
224
|
+
results = this.mergeResults(results, seriesResults);
|
|
225
|
+
progress.completedBatches += batchesSeries.length;
|
|
205
226
|
progress.completedContacts += contactsBatches
|
|
206
227
|
.slice(i, i + parallelBatchesAmount)
|
|
207
228
|
.map(batch => batch.length)
|
|
208
229
|
.reduce((acc, curr) => acc + curr, 0);
|
|
209
|
-
yield yield __await(
|
|
230
|
+
yield yield __await({
|
|
231
|
+
type: 'progress',
|
|
232
|
+
results: progress,
|
|
233
|
+
});
|
|
210
234
|
}
|
|
235
|
+
yield yield __await({
|
|
236
|
+
type: 'results',
|
|
237
|
+
results,
|
|
238
|
+
});
|
|
211
239
|
});
|
|
212
240
|
}
|
|
213
241
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulkContactsCreateApi.js","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,OAAO,
|
|
1
|
+
{"version":3,"file":"bulkContactsCreateApi.js","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/constants.js
CHANGED
|
@@ -3,5 +3,6 @@ export const REQUEST_PAYLOAD_MAX_BYTES = 4000000;
|
|
|
3
3
|
export const MAX_PARALLEL_BATCH_PROCESSING = 4;
|
|
4
4
|
export const FAILED_REQUEST_REPEATS = 3;
|
|
5
5
|
export const CONTACTS_DELETE_MAX_AMOUNT = 1000;
|
|
6
|
-
export const
|
|
6
|
+
export const BULK_POLING_PAUSE_DURATION = 1500;
|
|
7
|
+
export const BULK_FAILED_SERIES_REPEAT_IN = 30000;
|
|
7
8
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAEjD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAEjD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC"}
|
package/dist/esm/utils.js
CHANGED
|
@@ -44,7 +44,7 @@ export const chunkArrByMaxSize = (arr, maxSize) => {
|
|
|
44
44
|
if (chunksLength < arr.length) {
|
|
45
45
|
chunks[chunkIdx + 1] = arr.slice(chunksLength);
|
|
46
46
|
}
|
|
47
|
-
return chunks;
|
|
47
|
+
return chunks.filter((c) => !!c);
|
|
48
48
|
};
|
|
49
49
|
export function debouncePromise(caller, delay) {
|
|
50
50
|
let timeout = null;
|
|
@@ -69,4 +69,10 @@ export function buildHttpAgents() {
|
|
|
69
69
|
httpsAgent,
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
|
+
export const mergeObjects = (first, second) => {
|
|
73
|
+
for (const [key, value] of Object.entries(second)) {
|
|
74
|
+
first[key] = value;
|
|
75
|
+
}
|
|
76
|
+
return first;
|
|
77
|
+
};
|
|
72
78
|
//# 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":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,13 @@ import { CalApiParams } from '@or-sdk/base';
|
|
|
2
2
|
import { BaseApi } from './baseApi';
|
|
3
3
|
import BatchProcessApi from './batchProcessApi';
|
|
4
4
|
import { BatchProcessResponseDto } from '@onereach/types-contacts-api';
|
|
5
|
+
import { BulkLogger } from '../types';
|
|
5
6
|
export default class BaseWithPoling extends BaseApi {
|
|
6
7
|
protected readonly apiCall: <T>(params: CalApiParams) => Promise<T>;
|
|
7
8
|
protected batchProcessApi: BatchProcessApi;
|
|
9
|
+
private logger;
|
|
8
10
|
constructor(apiCall: <T>(params: CalApiParams) => Promise<T>, batchProcessApi: BatchProcessApi);
|
|
9
|
-
protected
|
|
11
|
+
protected setLogger(logger: BulkLogger | undefined): void;
|
|
12
|
+
protected polling(batchId: string, polingDuration?: number, repeats?: number): Promise<BatchProcessResponseDto>;
|
|
10
13
|
}
|
|
11
14
|
//# sourceMappingURL=baseWithPolingApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseWithPolingApi.d.ts","sourceRoot":"","sources":["../../../src/api/baseWithPolingApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAsB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"baseWithPolingApi.d.ts","sourceRoot":"","sources":["../../../src/api/baseWithPolingApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAsB,MAAM,8BAA8B,CAAC;AAI3F,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAI/C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;IACnE,SAAS,CAAC,eAAe,EAAE,eAAe;IAJ5C,OAAO,CAAC,MAAM,CAAyB;gBAGlB,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EACzD,eAAe,EAAE,eAAe;IAK5C,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS;cAOlC,OAAO,CACrB,OAAO,EAAE,MAAM,EACf,cAAc,SAA6B,EAC3C,OAAO,SAAI,GACV,OAAO,CAAC,uBAAuB,CAAC;CAmCpC"}
|
|
@@ -9,14 +9,14 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
9
9
|
constructor(apiCall: <T>(params: CalApiParams) => Promise<T>, batchProcessApi: BatchProcessApi);
|
|
10
10
|
private readonly apiBasePath;
|
|
11
11
|
bulkCreateContacts(bulkName: string, data: BulkCreateData, options?: BulkOptions): Promise<BulkCreateResultsDto>;
|
|
12
|
+
private logBulkDetails;
|
|
12
13
|
trackBulkCreateContacts(bulkName: string, data: BulkCreateData, options?: BulkOptions): AsyncGenerator<BulkGeneratorReturn>;
|
|
13
14
|
private updateContactsWithContactKeys;
|
|
14
15
|
private indicesOn;
|
|
15
16
|
private indicesOff;
|
|
16
17
|
private checkContactKeysDuplications;
|
|
17
|
-
getBulkCreateResults(batchGroupId: string, options: BulkOptions): Promise<BulkCreateResultsDto>;
|
|
18
|
-
private callGetBulkResults;
|
|
19
18
|
private createContactsInSingleBatch;
|
|
19
|
+
private mergeResults;
|
|
20
20
|
private createContactsInMultiBatches;
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=bulkContactsCreateApi.d.ts.map
|
|
@@ -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;
|
|
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;AAQhD,OAAO,EAGL,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,cAAc,EACd,mBAAmB,EAEnB,WAAW,EAGZ,MAAM,UAAU,CAAC;AAIlB,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;IAiChC,kBAAkB,CAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,oBAAoB,CAAC;IAgBhC,OAAO,CAAC,cAAc;IAcP,uBAAuB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,WAAgB,GACxB,cAAc,CAAC,mBAAmB,CAAC;IAyDtC,OAAO,CAAC,6BAA6B;YAmBvB,SAAS;YAST,UAAU;IASxB,OAAO,CAAC,4BAA4B;YAQtB,2BAA2B;IAwBzC,OAAO,CAAC,YAAY;YAuBJ,4BAA4B;CA8D7C"}
|
|
@@ -3,5 +3,6 @@ export declare const REQUEST_PAYLOAD_MAX_BYTES = 4000000;
|
|
|
3
3
|
export declare const MAX_PARALLEL_BATCH_PROCESSING = 4;
|
|
4
4
|
export declare const FAILED_REQUEST_REPEATS = 3;
|
|
5
5
|
export declare const CONTACTS_DELETE_MAX_AMOUNT = 1000;
|
|
6
|
-
export declare const
|
|
6
|
+
export declare const BULK_POLING_PAUSE_DURATION = 1500;
|
|
7
|
+
export declare const BULK_FAILED_SERIES_REPEAT_IN = 30000;
|
|
7
8
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD,eAAO,MAAM,yBAAyB,UAAU,CAAC;AAEjD,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD,eAAO,MAAM,yBAAyB,UAAU,CAAC;AAEjD,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,eAAO,MAAM,4BAA4B,QAAQ,CAAC"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -40,15 +40,23 @@ export declare type BulkCreateData = Omit<BulkCreateRequestDto, 'batchId' | 'bat
|
|
|
40
40
|
contacts: OptionalBy<BulkContactDto, 'contactKey'>[];
|
|
41
41
|
};
|
|
42
42
|
export declare type BatchBulkCreateData = Omit<BulkCreateRequestDto, 'batchId' | 'batchGroupId'>;
|
|
43
|
+
export declare type SingleBatchBulkCreateData = BatchBulkCreateData & {
|
|
44
|
+
batchIdx: number;
|
|
45
|
+
};
|
|
43
46
|
export declare type CreateBulkResults = {
|
|
44
47
|
created: Record<string, string>;
|
|
45
48
|
failed: Record<string, string>;
|
|
46
49
|
};
|
|
50
|
+
export declare type BulkLogger = {
|
|
51
|
+
log: (message?: unknown, ...optionalParams: unknown[]) => void;
|
|
52
|
+
};
|
|
47
53
|
export declare type BulkOptions = {
|
|
48
54
|
batchSize?: number;
|
|
49
55
|
parallelBatchesAmount?: number;
|
|
50
56
|
batchesToProcess?: number;
|
|
51
|
-
|
|
57
|
+
polingDuration?: number;
|
|
58
|
+
repeatFailedParallelBatchesIn?: number;
|
|
59
|
+
logger?: BulkLogger;
|
|
52
60
|
};
|
|
53
61
|
export declare type BulkProgress = {
|
|
54
62
|
totalBatches: 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,EACL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,aAAa,EACb,WAAW,EACX,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC/D,cAAc,8BAA8B,CAAC;AAE7C,aAAK,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/E,oBAAY,cAAc,GAAG;IAI3B,KAAK,EAAE,KAAK,CAAC;IAKb,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,CAAC;IAOnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAM9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,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,kBAAkB,GAAG,UAAU,CAAC,2BAA2B,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;CAAC,CAAC;AAEpG,oBAAY,yBAAyB,GAAG;IACtC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,oBAAY,uBAAuB,GAAG,oBAAoB,GAAG;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CAAC,CAAC;AAErF,oBAAY,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,cAAc,GAAG,UAAU,CAAC,GAC9F;IAAE,QAAQ,EAAE,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC;CAAE,CAAC;AAE5D,oBAAY,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,cAAc,CAAC,CAAC;AAEzF,oBAAY,iBAAiB,GAAG;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAAC,CAAC;AAEnG,oBAAY,WAAW,GAAG;IAQxB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -14,5 +14,6 @@ export declare function buildHttpAgents(): {
|
|
|
14
14
|
httpAgent: Agent;
|
|
15
15
|
httpsAgent: Agent.HttpsAgent;
|
|
16
16
|
};
|
|
17
|
+
export declare const mergeObjects: (first: Record<string, string>, second: Record<string, string>) => Record<string, string>;
|
|
17
18
|
export {};
|
|
18
19
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,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;AAG3D,eAAO,MAAM,eAAe;;;mEAoB3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,iBAAgB,MAExC,CAAC;AAEV,eAAO,MAAM,iBAAiB,yBAA0B,MAAM,UAsC7D,CAAC;AAEF,wBAAgB,eAAe,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED,wBAAgB,eAAe;;;EAgB9B"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,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;AAG3D,eAAO,MAAM,eAAe;;;mEAoB3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,iBAAgB,MAExC,CAAC;AAEV,eAAO,MAAM,iBAAiB,yBAA0B,MAAM,UAsC7D,CAAC;AAEF,wBAAgB,eAAe,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED,wBAAgB,eAAe;;;EAgB9B;AAED,eAAO,MAAM,YAAY,UAAW,OAAO,MAAM,EAAE,MAAM,CAAC,UAAU,OAAO,MAAM,EAAE,MAAM,CAAC,KAAG,OAAO,MAAM,EAAE,MAAM,CAKjH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "4.0.2
|
|
2
|
+
"version": "4.0.2",
|
|
3
3
|
"name": "@or-sdk/contacts",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@onereach/types-contacts-api": "5.14.1-beta.2688.0",
|
|
23
|
-
"@or-sdk/base": "^0.29.
|
|
23
|
+
"@or-sdk/base": "^0.29.1",
|
|
24
24
|
"agentkeepalive": "^4.5.0",
|
|
25
25
|
"uuid": "^8.3.2"
|
|
26
26
|
},
|
|
@@ -35,5 +35,6 @@
|
|
|
35
35
|
},
|
|
36
36
|
"publishConfig": {
|
|
37
37
|
"access": "public"
|
|
38
|
-
}
|
|
38
|
+
},
|
|
39
|
+
"gitHead": "cca391f80a59a3174dd328808089f73de1873e8e"
|
|
39
40
|
}
|
|
@@ -3,10 +3,13 @@ import { BaseApi } from './baseApi';
|
|
|
3
3
|
import BatchProcessApi from './batchProcessApi';
|
|
4
4
|
import { BatchProcessResponseDto, BatchProcessStatus } from '@onereach/types-contacts-api';
|
|
5
5
|
import { debouncePromise } from '../utils';
|
|
6
|
-
import { FAILED_REQUEST_REPEATS } from '../constants';
|
|
6
|
+
import { FAILED_REQUEST_REPEATS, BULK_POLING_PAUSE_DURATION } from '../constants';
|
|
7
7
|
import { ApiError, CreateContactsBatchError } from '../apiError';
|
|
8
|
+
import { BulkLogger } from '../types';
|
|
8
9
|
|
|
9
10
|
export default class BaseWithPoling extends BaseApi {
|
|
11
|
+
private logger: BulkLogger | undefined;
|
|
12
|
+
|
|
10
13
|
constructor(
|
|
11
14
|
protected readonly apiCall: <T>(params: CalApiParams) => Promise<T>,
|
|
12
15
|
protected batchProcessApi: BatchProcessApi,
|
|
@@ -14,24 +17,36 @@ export default class BaseWithPoling extends BaseApi {
|
|
|
14
17
|
super(apiCall);
|
|
15
18
|
}
|
|
16
19
|
|
|
20
|
+
protected setLogger(logger: BulkLogger | undefined) {
|
|
21
|
+
this.logger = logger;
|
|
22
|
+
}
|
|
23
|
+
|
|
17
24
|
/**
|
|
18
25
|
* Pols specific batch process until status of it isn't turned from 'pending to something else.
|
|
19
26
|
*/
|
|
20
|
-
protected async polling(
|
|
27
|
+
protected async polling(
|
|
28
|
+
batchId: string,
|
|
29
|
+
polingDuration = BULK_POLING_PAUSE_DURATION,
|
|
30
|
+
repeats = 0
|
|
31
|
+
): Promise<BatchProcessResponseDto> {
|
|
21
32
|
let batchProcess: BatchProcessResponseDto;
|
|
22
33
|
|
|
23
34
|
try {
|
|
24
|
-
batchProcess = await debouncePromise(() => this.batchProcessApi.getBatchProcess(batchId),
|
|
35
|
+
batchProcess = await debouncePromise(() => this.batchProcessApi.getBatchProcess(batchId), polingDuration);
|
|
25
36
|
} catch (e) {
|
|
26
37
|
if (
|
|
27
38
|
repeats < FAILED_REQUEST_REPEATS
|
|
28
39
|
&& 'statusCode' in (e as object)
|
|
29
|
-
&& (e as unknown as ApiError).statusCode ===
|
|
40
|
+
&& (e as unknown as ApiError).statusCode === 'ERR_BAD_REQUEST'
|
|
30
41
|
) {
|
|
31
|
-
|
|
42
|
+
this.logger?.log(batchId, ' NOT FOUND IN POLING');
|
|
43
|
+
return await debouncePromise(async () => {
|
|
44
|
+
const result = await this.polling(batchId, polingDuration, repeats + 1);
|
|
45
|
+
return result;
|
|
46
|
+
}, (repeats + 1) * polingDuration);
|
|
32
47
|
}
|
|
33
48
|
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
34
|
-
return this.polling(batchId, repeats + 1);
|
|
49
|
+
return this.polling(batchId, polingDuration, repeats + 1);
|
|
35
50
|
}
|
|
36
51
|
throw new CreateContactsBatchError((e as unknown as Error).message, batchId);
|
|
37
52
|
}
|
|
@@ -45,7 +60,7 @@ export default class BaseWithPoling extends BaseApi {
|
|
|
45
60
|
}
|
|
46
61
|
|
|
47
62
|
return batchProcess.status === BatchProcessStatus.pending
|
|
48
|
-
? this.polling(batchId)
|
|
63
|
+
? this.polling(batchId, polingDuration)
|
|
49
64
|
: batchProcess;
|
|
50
65
|
}
|
|
51
66
|
}
|