@or-sdk/contacts 3.5.7 → 3.5.8-beta.2210.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/README.md +20 -0
- package/dist/cjs/Contacts.js +7 -5
- package/dist/cjs/Contacts.js.map +1 -1
- package/dist/cjs/api/batchProcessApi.js +0 -20
- package/dist/cjs/api/batchProcessApi.js.map +1 -1
- package/dist/cjs/api/bulkContactsCreateApi.js +152 -40
- package/dist/cjs/api/bulkContactsCreateApi.js.map +1 -1
- package/dist/esm/Contacts.js +7 -5
- package/dist/esm/Contacts.js.map +1 -1
- package/dist/esm/api/batchProcessApi.js +0 -16
- package/dist/esm/api/batchProcessApi.js.map +1 -1
- package/dist/esm/api/bulkContactsCreateApi.js +93 -21
- package/dist/esm/api/bulkContactsCreateApi.js.map +1 -1
- package/dist/types/Contacts.d.ts.map +1 -1
- package/dist/types/api/batchProcessApi.d.ts +0 -2
- package/dist/types/api/batchProcessApi.d.ts.map +1 -1
- package/dist/types/api/bulkContactsCreateApi.d.ts +11 -3
- package/dist/types/api/bulkContactsCreateApi.d.ts.map +1 -1
- package/package.json +3 -4
- package/src/Contacts.ts +6 -5
- package/src/api/batchProcessApi.ts +0 -15
- package/src/api/bulkContactsCreateApi.ts +113 -38
package/README.md
CHANGED
|
@@ -76,3 +76,23 @@ const { created, failed } = bulkCreateApi.bulkCreateContacts(
|
|
|
76
76
|
);
|
|
77
77
|
|
|
78
78
|
```
|
|
79
|
+
|
|
80
|
+
### Track bulk progress
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
const { bulkCreateApi } = new Contacts({
|
|
84
|
+
contactsApiUrl: ...,
|
|
85
|
+
accountId: ...,
|
|
86
|
+
token: ...,
|
|
87
|
+
withKeepAliveAgents: true
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
const {
|
|
91
|
+
totalBatches,
|
|
92
|
+
totalContacts,
|
|
93
|
+
completedBatches,
|
|
94
|
+
completedContacts,
|
|
95
|
+
} = await bulkCreateApi.getBulkProgress('bulkName');
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
|
package/dist/cjs/Contacts.js
CHANGED
|
@@ -69,12 +69,14 @@ var Contacts = (function (_super) {
|
|
|
69
69
|
return parsedError;
|
|
70
70
|
};
|
|
71
71
|
Contacts.prototype.logApiError = function (e) {
|
|
72
|
-
|
|
73
|
-
console.error("
|
|
74
|
-
console.error("path : ".concat(e.request.path));
|
|
72
|
+
var _a, _b, _c, _d;
|
|
73
|
+
console.error("url : ".concat((_a = e.config) === null || _a === void 0 ? void 0 : _a.url));
|
|
75
74
|
console.error("method : ".concat(e.request.method));
|
|
76
|
-
console.error("
|
|
77
|
-
console.error("
|
|
75
|
+
console.error("params : ".concat(JSON.stringify(((_b = e.config) === null || _b === void 0 ? void 0 : _b.params) || {})));
|
|
76
|
+
console.error("data : ".concat(JSON.stringify(((_c = e.config) === null || _c === void 0 ? void 0 : _c.data) || {})));
|
|
77
|
+
console.error("status code : ".concat(e.request.res.statusCode));
|
|
78
|
+
console.error("status message: ".concat(e.request.res.statusMessage));
|
|
79
|
+
console.error("authorization : ".concat((_d = e.config) === null || _d === void 0 ? void 0 : _d.headers.Authorization));
|
|
78
80
|
};
|
|
79
81
|
return Contacts;
|
|
80
82
|
}(base_1.Base));
|
package/dist/cjs/Contacts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contacts.js","sourceRoot":"","sources":["../../src/Contacts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAgD;AAChD,iCAA0C;AAE1C,yCAAmD;AACnD,6BASe;AACf,uCAAsC;AACtC,0EAAoD;AACpD,sFAAgE;AAShE;IAA8B,4BAAI;IAmBhC,kBAAY,MAAsB;QAAlC,iBAuBC;QAtBS,IAAA,KAAK,GAAmE,MAAM,MAAzE,EAAE,YAAY,GAAqD,MAAM,aAA3D,EAAE,cAAc,GAAqC,MAAM,eAA3C,EAAE,SAAS,GAA0B,MAAM,UAAhC,EAAE,mBAAmB,GAAK,MAAM,oBAAX,CAAY;gBACvF,6BACE,KAAK,OAAA,EACL,YAAY,cAAA,EACZ,UAAU,EAAE,gCAAoB,EAChC,UAAU,EAAE,cAAc,EAC1B,SAAS,WAAA,IACN,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAA,uBAAe,GAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACjE;QAEF,IAAM,OAAO,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC1C,KAAI,CAAC,eAAe,GAAG,IAAI,yBAAe,CAAC,OAAO,CAAC,CAAC;QACpD,KAAI,CAAC,cAAc,GAAG,IAAI,oBAAc,CAAC,OAAO,CAAC,CAAC;QAClD,KAAI,CAAC,aAAa,GAAG,IAAI,mBAAa,CAAC,OAAO,CAAC,CAAC;QAChD,KAAI,CAAC,UAAU,GAAG,IAAI,gBAAU,CAAC,OAAO,EAAE,KAAI,CAAC,eAAe,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC;QACrF,KAAI,CAAC,eAAe,GAAG,IAAI,qBAAe,CAAC,OAAO,CAAC,CAAC;QACpD,KAAI,CAAC,cAAc,GAAG,IAAI,oBAAc,CAAC,OAAO,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;QACxE,KAAI,CAAC,SAAS,GAAG,IAAI,eAAS,CAAC,OAAO,CAAC,CAAC;QACxC,KAAI,CAAC,8BAA8B,GAAG,IAAI,oCAA8B,CAAC,OAAO,CAAC,CAAC;QAClF,KAAI,CAAC,aAAa,GAAG,IAAI,mBAAa,CAAC,OAAO,CAAC,CAAC;QAChD,KAAI,CAAC,aAAa,GAAG,IAAI,+BAAqB,CAAC,OAAO,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;QAC9E,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;;IACzD,CAAC;IAED,6BAAU,GAAV,UAAW,CAAa;QACtB,IAAI,CAAC,CAAC,YAAY,EAAE;YACV,IAAA,IAAI,GAAqB,CAAC,KAAtB,EAAE,OAAO,GAAY,CAAC,QAAb,EAAE,KAAK,GAAK,CAAC,MAAN,CAAO;YACnC,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aACrB;YACD,OAAO,IAAI,mBAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;SAC3C;QAED,IAAM,WAAW,GAAG,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACxC,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,8BAAW,GAAnB,UAAoB,CAAa
|
|
1
|
+
{"version":3,"file":"Contacts.js","sourceRoot":"","sources":["../../src/Contacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,26 +109,6 @@ var BatchProcessApi = (function (_super) {
|
|
|
109
109
|
});
|
|
110
110
|
});
|
|
111
111
|
};
|
|
112
|
-
BatchProcessApi.prototype.indicesOn = function () {
|
|
113
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
114
|
-
return __generator(this, function (_a) {
|
|
115
|
-
return [2, this.apiCall({
|
|
116
|
-
method: 'POST',
|
|
117
|
-
route: "".concat(this.apiBasePath, "/indices-on"),
|
|
118
|
-
})];
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
BatchProcessApi.prototype.indicesOff = function () {
|
|
123
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
124
|
-
return __generator(this, function (_a) {
|
|
125
|
-
return [2, this.apiCall({
|
|
126
|
-
method: 'POST',
|
|
127
|
-
route: "".concat(this.apiBasePath, "/indices-off"),
|
|
128
|
-
})];
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
};
|
|
132
112
|
return BatchProcessApi;
|
|
133
113
|
}(baseApi_1.BaseApi));
|
|
134
114
|
exports.default = BatchProcessApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchProcessApi.js","sourceRoot":"","sources":["../../../src/api/batchProcessApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qCAAoC;AAEpC,mEAGsC;AAEtC;IAA6C,mCAAO;IAApD;QAAA,
|
|
1
|
+
{"version":3,"file":"batchProcessApi.js","sourceRoot":"","sources":["../../../src/api/batchProcessApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qCAAoC;AAEpC,mEAGsC;AAEtC;IAA6C,mCAAO;IAApD;QAAA,qEA8CC;QA7CkB,iBAAW,GAAG,eAAe,CAAC;;IA6CjD,CAAC;IA3CC,yCAAe,GAAf,UAAgB,EAAU;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,CAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAOK,2CAAiB,GAAvB,UAAwB,EAAU;;;;;4BACX,WAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAA;;wBAA7C,YAAY,GAAG,SAA8B;wBAE/C,MAAM,GAA8B;4BACtC,MAAM,EAAE,YAAY,CAAC,MAAM;yBAC5B,CAAC;wBAEF,IAAI,YAAY,CAAC,MAAM,KAAK,uCAAkB,CAAC,OAAO,EAAE;4BACtD,MAAM,yBACD,MAAM,KACT,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAS,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAb,CAAa,CAAC,GACtE,CAAC;yBACH;wBAED,IAAI,YAAY,CAAC,MAAM,KAAK,uCAAkB,CAAC,MAAM,EAAE;4BACrD,MAAM,yBACD,MAAM,KACT,MAAM,EAAE,YAAY,CAAC,QAAQ,EAC7B,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAS,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAb,CAAa,CAAC,GACtE,CAAC;yBACH;wBAED,WAAO,MAAM,EAAC;;;;KACf;IAEK,gDAAsB,GAA5B,UAA6B,OAAe;;;gBAC1C,WAAO,IAAI,CAAC,OAAO,CAAC;wBAClB,MAAM,EAAE,KAAK;wBACb,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,oBAAU,OAAO,CAAE;qBAC9C,CAAC,EAAC;;;KACJ;IACH,sBAAC;AAAD,CAAC,AA9CD,CAA6C,iBAAO,GA8CnD"}
|
|
@@ -89,47 +89,113 @@ var BulkContactsCreateApi = (function (_super) {
|
|
|
89
89
|
_this.apiBasePath = 'bulk-create';
|
|
90
90
|
return _this;
|
|
91
91
|
}
|
|
92
|
-
BulkContactsCreateApi.prototype.bulkCreateContacts = function (data, options) {
|
|
92
|
+
BulkContactsCreateApi.prototype.bulkCreateContacts = function (bulkName, data, options) {
|
|
93
93
|
if (options === void 0) { options = {}; }
|
|
94
94
|
return __awaiter(this, void 0, void 0, function () {
|
|
95
|
-
var dataWithContactKeys, _a, batchSize, results, contacts, rest, contactsMaxSize, contactsChunks,
|
|
95
|
+
var dataWithContactKeys, _a, batchSize, results, contacts, rest, contactsMaxSize, contactsChunks, indicesOnBatchId_1;
|
|
96
|
+
var _this = this;
|
|
96
97
|
return __generator(this, function (_b) {
|
|
97
98
|
switch (_b.label) {
|
|
98
99
|
case 0:
|
|
99
100
|
dataWithContactKeys = this.updateContactsWithContactKeys(data);
|
|
100
101
|
_a = options.batchSize, batchSize = _a === void 0 ? constants_1.REQUEST_PAYLOAD_MAX_BYTES : _a;
|
|
101
|
-
return [4, this.
|
|
102
|
+
return [4, this.indicesOff()];
|
|
102
103
|
case 1:
|
|
103
104
|
_b.sent();
|
|
104
105
|
results = {
|
|
105
106
|
created: {},
|
|
106
107
|
failed: {},
|
|
107
108
|
};
|
|
108
|
-
|
|
109
|
+
return [4, this.setBulkProgress(bulkName)];
|
|
109
110
|
case 2:
|
|
110
|
-
_b.
|
|
111
|
+
_b.sent();
|
|
112
|
+
_b.label = 3;
|
|
113
|
+
case 3:
|
|
114
|
+
_b.trys.push([3, , 10, 12]);
|
|
111
115
|
contacts = dataWithContactKeys.contacts, rest = __rest(dataWithContactKeys, ["contacts"]);
|
|
112
116
|
contactsMaxSize = batchSize - (0, utils_1.getObjectSizeInBytes)(__assign({}, rest));
|
|
113
117
|
contactsChunks = (0, utils_1.chunkArrByMaxSize)(contacts, contactsMaxSize);
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
+
return [4, this.updateBulkProgress(bulkName, {
|
|
119
|
+
totalBatches: contactsChunks.length,
|
|
120
|
+
totalContacts: contacts.length,
|
|
121
|
+
completedBatches: 0,
|
|
122
|
+
completedContacts: 0,
|
|
123
|
+
})];
|
|
124
|
+
case 4:
|
|
118
125
|
_b.sent();
|
|
119
|
-
return [3,
|
|
120
|
-
|
|
126
|
+
if (!(contactsChunks.length === 1)) return [3, 7];
|
|
127
|
+
return [4, this.createContactsInSingleBatch(dataWithContactKeys, bulkName)];
|
|
121
128
|
case 5:
|
|
122
129
|
_b.sent();
|
|
123
|
-
|
|
124
|
-
case 6:
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
case 8:
|
|
129
|
-
|
|
130
|
+
return [4, this.increaseBulkProgress(bulkName, 1, dataWithContactKeys.contacts.length)];
|
|
131
|
+
case 6:
|
|
132
|
+
_b.sent();
|
|
133
|
+
return [3, 9];
|
|
134
|
+
case 7: return [4, this.createContactsInMultiBatches(contactsChunks, rest, bulkName)];
|
|
135
|
+
case 8:
|
|
136
|
+
_b.sent();
|
|
137
|
+
_b.label = 9;
|
|
138
|
+
case 9: return [3, 12];
|
|
139
|
+
case 10:
|
|
140
|
+
indicesOnBatchId_1 = (0, uuid_1.v4)();
|
|
141
|
+
this.indicesOn(indicesOnBatchId_1);
|
|
142
|
+
return [4, (0, utils_1.debouncePromise)(function () { return _this.polling(indicesOnBatchId_1); }, 3000)];
|
|
143
|
+
case 11:
|
|
130
144
|
_b.sent();
|
|
131
145
|
return [7];
|
|
132
|
-
case
|
|
146
|
+
case 12: return [2, results];
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
BulkContactsCreateApi.prototype.getBulkProgress = function (bulkName) {
|
|
152
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
153
|
+
return __generator(this, function (_a) {
|
|
154
|
+
return [2, this.apiCall({
|
|
155
|
+
method: 'GET',
|
|
156
|
+
route: "".concat(this.apiBasePath, "/bulk-progress/").concat(bulkName),
|
|
157
|
+
})];
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
BulkContactsCreateApi.prototype.setBulkProgress = function (bulkName) {
|
|
162
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
163
|
+
return __generator(this, function (_a) {
|
|
164
|
+
return [2, this.apiCall({
|
|
165
|
+
method: 'POST',
|
|
166
|
+
route: "".concat(this.apiBasePath, "/bulk-progress/").concat(bulkName),
|
|
167
|
+
})];
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
BulkContactsCreateApi.prototype.updateBulkProgress = function (bulkName, progress) {
|
|
172
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
173
|
+
return __generator(this, function (_a) {
|
|
174
|
+
return [2, this.apiCall({
|
|
175
|
+
method: 'PATCH',
|
|
176
|
+
route: "".concat(this.apiBasePath, "/bulk-progress/").concat(bulkName),
|
|
177
|
+
data: progress,
|
|
178
|
+
})];
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
};
|
|
182
|
+
BulkContactsCreateApi.prototype.increaseBulkProgress = function (bulkName, batchesDelta, contactsDelta) {
|
|
183
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
184
|
+
var _a, totalBatches, totalContacts, completedBatches, completedContacts;
|
|
185
|
+
return __generator(this, function (_b) {
|
|
186
|
+
switch (_b.label) {
|
|
187
|
+
case 0: return [4, this.getBulkProgress(bulkName)];
|
|
188
|
+
case 1:
|
|
189
|
+
_a = _b.sent(), totalBatches = _a.totalBatches, totalContacts = _a.totalContacts, completedBatches = _a.completedBatches, completedContacts = _a.completedContacts;
|
|
190
|
+
return [4, this.updateBulkProgress(bulkName, {
|
|
191
|
+
totalBatches: totalBatches,
|
|
192
|
+
totalContacts: totalContacts,
|
|
193
|
+
completedBatches: completedBatches + batchesDelta,
|
|
194
|
+
completedContacts: completedContacts + contactsDelta,
|
|
195
|
+
})];
|
|
196
|
+
case 2:
|
|
197
|
+
_b.sent();
|
|
198
|
+
return [2];
|
|
133
199
|
}
|
|
134
200
|
});
|
|
135
201
|
});
|
|
@@ -144,6 +210,26 @@ var BulkContactsCreateApi = (function (_super) {
|
|
|
144
210
|
this.checkContactKeysDuplications(dataWithContactKeys.contacts);
|
|
145
211
|
return dataWithContactKeys;
|
|
146
212
|
};
|
|
213
|
+
BulkContactsCreateApi.prototype.indicesOn = function (batchId) {
|
|
214
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
215
|
+
return __generator(this, function (_a) {
|
|
216
|
+
return [2, this.apiCall({
|
|
217
|
+
method: 'POST',
|
|
218
|
+
route: "".concat(this.apiBasePath, "/indices-on/").concat(batchId),
|
|
219
|
+
})];
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
};
|
|
223
|
+
BulkContactsCreateApi.prototype.indicesOff = function () {
|
|
224
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
225
|
+
return __generator(this, function (_a) {
|
|
226
|
+
return [2, this.apiCall({
|
|
227
|
+
method: 'POST',
|
|
228
|
+
route: "".concat(this.apiBasePath, "/indices-off"),
|
|
229
|
+
})];
|
|
230
|
+
});
|
|
231
|
+
});
|
|
232
|
+
};
|
|
147
233
|
BulkContactsCreateApi.prototype.checkContactKeysDuplications = function (contacts) {
|
|
148
234
|
contacts.map(function (_a) {
|
|
149
235
|
var contactKey = _a.contactKey;
|
|
@@ -156,23 +242,43 @@ var BulkContactsCreateApi = (function (_super) {
|
|
|
156
242
|
};
|
|
157
243
|
BulkContactsCreateApi.prototype.getBulkCreateResults = function (batchGroupId) {
|
|
158
244
|
return __awaiter(this, void 0, void 0, function () {
|
|
159
|
-
var
|
|
245
|
+
var _a, total, firstResults, size, results, i, nextResults;
|
|
246
|
+
return __generator(this, function (_b) {
|
|
247
|
+
switch (_b.label) {
|
|
248
|
+
case 0: return [4, this.callGetBulkResults(batchGroupId, 0)];
|
|
249
|
+
case 1:
|
|
250
|
+
_a = _b.sent(), total = _a.total, firstResults = _a.results, size = _a.size;
|
|
251
|
+
results = __assign({}, firstResults);
|
|
252
|
+
if (!(total > size)) return [3, 5];
|
|
253
|
+
i = 1;
|
|
254
|
+
_b.label = 2;
|
|
255
|
+
case 2:
|
|
256
|
+
if (!(i <= Math.ceil((total - size) / size))) return [3, 5];
|
|
257
|
+
return [4, this.callGetBulkResults(batchGroupId, i * 500)];
|
|
258
|
+
case 3:
|
|
259
|
+
nextResults = (_b.sent()).results;
|
|
260
|
+
results = {
|
|
261
|
+
created: __assign(__assign({}, results.created), nextResults.created),
|
|
262
|
+
failed: __assign(__assign({}, results.failed), nextResults.created),
|
|
263
|
+
};
|
|
264
|
+
_b.label = 4;
|
|
265
|
+
case 4:
|
|
266
|
+
i++;
|
|
267
|
+
return [3, 2];
|
|
268
|
+
case 5: return [2, results];
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
});
|
|
272
|
+
};
|
|
273
|
+
BulkContactsCreateApi.prototype.callGetBulkResults = function (batchGroupId, skip) {
|
|
274
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
160
275
|
return __generator(this, function (_a) {
|
|
161
276
|
switch (_a.label) {
|
|
162
|
-
case 0: return [4, this.
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
var failedContacts = batch.messages.reduce(function (acc, message) { return (__assign(__assign({}, acc), JSON.parse(message))); }, {});
|
|
168
|
-
return {
|
|
169
|
-
created: __assign(__assign({}, acc.created), createdContacts),
|
|
170
|
-
failed: __assign(__assign({}, acc.failed), failedContacts),
|
|
171
|
-
};
|
|
172
|
-
}, {
|
|
173
|
-
created: {},
|
|
174
|
-
failed: {},
|
|
175
|
-
})];
|
|
277
|
+
case 0: return [4, this.apiCall({
|
|
278
|
+
method: 'GET',
|
|
279
|
+
route: "".concat(this.apiBasePath, "/bulk-results/").concat(batchGroupId, "/").concat(skip),
|
|
280
|
+
})];
|
|
281
|
+
case 1: return [2, _a.sent()];
|
|
176
282
|
}
|
|
177
283
|
});
|
|
178
284
|
});
|
|
@@ -198,14 +304,14 @@ var BulkContactsCreateApi = (function (_super) {
|
|
|
198
304
|
});
|
|
199
305
|
});
|
|
200
306
|
};
|
|
201
|
-
BulkContactsCreateApi.prototype.createContactsInMultiBatches = function (
|
|
307
|
+
BulkContactsCreateApi.prototype.createContactsInMultiBatches = function (contactsBatches, data, batchGroupId) {
|
|
202
308
|
return __awaiter(this, void 0, void 0, function () {
|
|
203
|
-
var batchPromises, promisesBatchSize, i, batch;
|
|
309
|
+
var batchPromises, promisesBatchSize, i, batch, contactsInBatches;
|
|
204
310
|
var _this = this;
|
|
205
311
|
return __generator(this, function (_a) {
|
|
206
312
|
switch (_a.label) {
|
|
207
313
|
case 0:
|
|
208
|
-
batchPromises =
|
|
314
|
+
batchPromises = contactsBatches
|
|
209
315
|
.map(function (chunkContacts) { return function () { return __awaiter(_this, void 0, void 0, function () {
|
|
210
316
|
return __generator(this, function (_a) {
|
|
211
317
|
return [2, this.createContactsInSingleBatch(__assign({ contacts: chunkContacts }, data), batchGroupId)];
|
|
@@ -215,16 +321,22 @@ var BulkContactsCreateApi = (function (_super) {
|
|
|
215
321
|
i = 0;
|
|
216
322
|
_a.label = 1;
|
|
217
323
|
case 1:
|
|
218
|
-
if (!(i < batchPromises.length)) return [3,
|
|
324
|
+
if (!(i < batchPromises.length)) return [3, 5];
|
|
219
325
|
batch = batchPromises.slice(i, i + promisesBatchSize);
|
|
220
326
|
return [4, Promise.all(batch.map(function (p) { return p(); }))];
|
|
221
327
|
case 2:
|
|
222
328
|
_a.sent();
|
|
223
|
-
|
|
329
|
+
contactsInBatches = contactsBatches
|
|
330
|
+
.slice(i, i + promisesBatchSize)
|
|
331
|
+
.reduce(function (acc, batch) { return acc + batch.length; }, 0);
|
|
332
|
+
return [4, this.increaseBulkProgress(batchGroupId, batch.length, contactsInBatches)];
|
|
224
333
|
case 3:
|
|
334
|
+
_a.sent();
|
|
335
|
+
_a.label = 4;
|
|
336
|
+
case 4:
|
|
225
337
|
i += promisesBatchSize;
|
|
226
338
|
return [3, 1];
|
|
227
|
-
case
|
|
339
|
+
case 5: return [2];
|
|
228
340
|
}
|
|
229
341
|
});
|
|
230
342
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulkContactsCreateApi.js","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0EAAiD;AAEjD,0CAAyD;AACzD,kCAAoF;AACpF,6BAA0B;
|
|
1
|
+
{"version":3,"file":"bulkContactsCreateApi.js","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Contacts.js
CHANGED
|
@@ -35,12 +35,14 @@ export class Contacts extends Base {
|
|
|
35
35
|
return parsedError;
|
|
36
36
|
}
|
|
37
37
|
logApiError(e) {
|
|
38
|
-
|
|
39
|
-
console.error(`
|
|
40
|
-
console.error(`path : ${e.request.path}`);
|
|
38
|
+
var _a, _b, _c, _d;
|
|
39
|
+
console.error(`url : ${(_a = e.config) === null || _a === void 0 ? void 0 : _a.url}`);
|
|
41
40
|
console.error(`method : ${e.request.method}`);
|
|
42
|
-
console.error(`
|
|
43
|
-
console.error(`
|
|
41
|
+
console.error(`params : ${JSON.stringify(((_b = e.config) === null || _b === void 0 ? void 0 : _b.params) || {})}`);
|
|
42
|
+
console.error(`data : ${JSON.stringify(((_c = e.config) === null || _c === void 0 ? void 0 : _c.data) || {})}`);
|
|
43
|
+
console.error(`status code : ${e.request.res.statusCode}`);
|
|
44
|
+
console.error(`status message: ${e.request.res.statusMessage}`);
|
|
45
|
+
console.error(`authorization : ${(_d = e.config) === null || _d === void 0 ? void 0 : _d.headers.Authorization}`);
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
48
|
//# sourceMappingURL=Contacts.js.map
|
package/dist/esm/Contacts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contacts.js","sourceRoot":"","sources":["../../src/Contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,8BAA8B,EAC9B,aAAa,GACd,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,qBAAqB,MAAM,6BAA6B,CAAC;AAShE,MAAM,OAAO,QAAS,SAAQ,IAAI;IAmBhC,YAAY,MAAsB;QAChC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC;QACvF,KAAK,iBACH,KAAK;YACL,YAAY,EACZ,UAAU,EAAE,oBAAoB,EAChC,UAAU,EAAE,cAAc,EAC1B,SAAS,IACN,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACjE,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACrF,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxE,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,8BAA8B,GAAG,IAAI,8BAA8B,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9E,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,UAAU,CAAC,CAAa;QACtB,IAAI,CAAC,CAAC,YAAY,EAAE;YAClB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aACrB;YACD,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;SAC3C;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,WAAW,CAAC,CAAa
|
|
1
|
+
{"version":3,"file":"Contacts.js","sourceRoot":"","sources":["../../src/Contacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,21 +43,5 @@ export default class BatchProcessApi extends BaseApi {
|
|
|
43
43
|
});
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
|
-
indicesOn() {
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
return this.apiCall({
|
|
49
|
-
method: 'POST',
|
|
50
|
-
route: `${this.apiBasePath}/indices-on`,
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
indicesOff() {
|
|
55
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
return this.apiCall({
|
|
57
|
-
method: 'POST',
|
|
58
|
-
route: `${this.apiBasePath}/indices-off`,
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
46
|
}
|
|
63
47
|
//# sourceMappingURL=batchProcessApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchProcessApi.js","sourceRoot":"","sources":["../../../src/api/batchProcessApi.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAEL,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAApD;;QACmB,gBAAW,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"batchProcessApi.js","sourceRoot":"","sources":["../../../src/api/batchProcessApi.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAEL,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAApD;;QACmB,gBAAW,GAAG,eAAe,CAAC;IA6CjD,CAAC;IA3CC,eAAe,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAOK,iBAAiB,CAAC,EAAU;;YAChC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAEpD,IAAI,MAAM,GAA8B;gBACtC,MAAM,EAAE,YAAY,CAAC,MAAM;aAC5B,CAAC;YAEF,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB,CAAC,OAAO,EAAE;gBACtD,MAAM,mCACD,MAAM,KACT,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACtE,CAAC;aACH;YAED,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAAE;gBACrD,MAAM,mCACD,MAAM,KACT,MAAM,EAAE,YAAY,CAAC,QAAQ,EAC7B,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACtE,CAAC;aACH;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAEK,sBAAsB,CAAC,OAAe;;YAC1C,OAAO,IAAI,CAAC,OAAO,CAAC;gBAClB,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,UAAU,OAAO,EAAE;aAC9C,CAAC,CAAC;QACL,CAAC;KAAA;CACF"}
|
|
@@ -29,34 +29,78 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
29
29
|
this.batchProcessApi = batchProcessApi;
|
|
30
30
|
this.apiBasePath = 'bulk-create';
|
|
31
31
|
}
|
|
32
|
-
bulkCreateContacts(data, options = {}) {
|
|
32
|
+
bulkCreateContacts(bulkName, data, options = {}) {
|
|
33
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
34
|
const dataWithContactKeys = this.updateContactsWithContactKeys(data);
|
|
35
35
|
const { batchSize = REQUEST_PAYLOAD_MAX_BYTES } = options;
|
|
36
|
-
yield this.
|
|
37
|
-
|
|
36
|
+
yield this.indicesOff();
|
|
37
|
+
const results = {
|
|
38
38
|
created: {},
|
|
39
39
|
failed: {},
|
|
40
40
|
};
|
|
41
|
+
yield this.setBulkProgress(bulkName);
|
|
41
42
|
try {
|
|
42
43
|
const { contacts } = dataWithContactKeys, rest = __rest(dataWithContactKeys, ["contacts"]);
|
|
43
44
|
const contactsMaxSize = batchSize - getObjectSizeInBytes(Object.assign({}, rest));
|
|
44
45
|
const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
|
|
45
|
-
|
|
46
|
+
yield this.updateBulkProgress(bulkName, {
|
|
47
|
+
totalBatches: contactsChunks.length,
|
|
48
|
+
totalContacts: contacts.length,
|
|
49
|
+
completedBatches: 0,
|
|
50
|
+
completedContacts: 0,
|
|
51
|
+
});
|
|
46
52
|
if (contactsChunks.length === 1) {
|
|
47
|
-
yield this.createContactsInSingleBatch(dataWithContactKeys,
|
|
53
|
+
yield this.createContactsInSingleBatch(dataWithContactKeys, bulkName);
|
|
54
|
+
yield this.increaseBulkProgress(bulkName, 1, dataWithContactKeys.contacts.length);
|
|
48
55
|
}
|
|
49
56
|
else {
|
|
50
|
-
yield this.createContactsInMultiBatches(contactsChunks, rest,
|
|
57
|
+
yield this.createContactsInMultiBatches(contactsChunks, rest, bulkName);
|
|
51
58
|
}
|
|
52
|
-
results = yield this.getBulkCreateResults(batchGroupId);
|
|
53
59
|
}
|
|
54
60
|
finally {
|
|
55
|
-
|
|
61
|
+
const indicesOnBatchId = v4();
|
|
62
|
+
this.indicesOn(indicesOnBatchId);
|
|
63
|
+
yield debouncePromise(() => this.polling(indicesOnBatchId), 3000);
|
|
56
64
|
}
|
|
57
65
|
return results;
|
|
58
66
|
});
|
|
59
67
|
}
|
|
68
|
+
getBulkProgress(bulkName) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
return this.apiCall({
|
|
71
|
+
method: 'GET',
|
|
72
|
+
route: `${this.apiBasePath}/bulk-progress/${bulkName}`,
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
setBulkProgress(bulkName) {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
return this.apiCall({
|
|
79
|
+
method: 'POST',
|
|
80
|
+
route: `${this.apiBasePath}/bulk-progress/${bulkName}`,
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
updateBulkProgress(bulkName, progress) {
|
|
85
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
return this.apiCall({
|
|
87
|
+
method: 'PATCH',
|
|
88
|
+
route: `${this.apiBasePath}/bulk-progress/${bulkName}`,
|
|
89
|
+
data: progress,
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
increaseBulkProgress(bulkName, batchesDelta, contactsDelta) {
|
|
94
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
const { totalBatches, totalContacts, completedBatches, completedContacts, } = yield this.getBulkProgress(bulkName);
|
|
96
|
+
yield this.updateBulkProgress(bulkName, {
|
|
97
|
+
totalBatches,
|
|
98
|
+
totalContacts,
|
|
99
|
+
completedBatches: completedBatches + batchesDelta,
|
|
100
|
+
completedContacts: completedContacts + contactsDelta,
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
}
|
|
60
104
|
updateContactsWithContactKeys(data) {
|
|
61
105
|
const dataWithContactKeys = Object.assign(Object.assign({}, data), { contacts: data.contacts.map((c, idx) => {
|
|
62
106
|
if (c.contactKey !== undefined) {
|
|
@@ -67,6 +111,22 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
67
111
|
this.checkContactKeysDuplications(dataWithContactKeys.contacts);
|
|
68
112
|
return dataWithContactKeys;
|
|
69
113
|
}
|
|
114
|
+
indicesOn(batchId) {
|
|
115
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
+
return this.apiCall({
|
|
117
|
+
method: 'POST',
|
|
118
|
+
route: `${this.apiBasePath}/indices-on/${batchId}`,
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
indicesOff() {
|
|
123
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
return this.apiCall({
|
|
125
|
+
method: 'POST',
|
|
126
|
+
route: `${this.apiBasePath}/indices-off`,
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
}
|
|
70
130
|
checkContactKeysDuplications(contacts) {
|
|
71
131
|
contacts.map(({ contactKey }) => contactKey).forEach((key, index, array) => {
|
|
72
132
|
if (index !== array.lastIndexOf(key)) {
|
|
@@ -76,17 +136,25 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
76
136
|
}
|
|
77
137
|
getBulkCreateResults(batchGroupId) {
|
|
78
138
|
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
139
|
+
const { total, results: firstResults, size } = yield this.callGetBulkResults(batchGroupId, 0);
|
|
140
|
+
let results = Object.assign({}, firstResults);
|
|
141
|
+
if (total > size) {
|
|
142
|
+
for (let i = 1; i <= Math.ceil((total - size) / size); i++) {
|
|
143
|
+
const { results: nextResults } = yield this.callGetBulkResults(batchGroupId, i * 500);
|
|
144
|
+
results = {
|
|
145
|
+
created: Object.assign(Object.assign({}, results.created), nextResults.created),
|
|
146
|
+
failed: Object.assign(Object.assign({}, results.failed), nextResults.created),
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return results;
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
callGetBulkResults(batchGroupId, skip) {
|
|
154
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
155
|
+
return yield this.apiCall({
|
|
156
|
+
method: 'GET',
|
|
157
|
+
route: `${this.apiBasePath}/bulk-results/${batchGroupId}/${skip}`,
|
|
90
158
|
});
|
|
91
159
|
});
|
|
92
160
|
}
|
|
@@ -102,9 +170,9 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
102
170
|
yield debouncePromise(() => this.polling(batchId), 3000);
|
|
103
171
|
});
|
|
104
172
|
}
|
|
105
|
-
createContactsInMultiBatches(
|
|
173
|
+
createContactsInMultiBatches(contactsBatches, data, batchGroupId) {
|
|
106
174
|
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
const batchPromises =
|
|
175
|
+
const batchPromises = contactsBatches
|
|
108
176
|
.map((chunkContacts) => () => __awaiter(this, void 0, void 0, function* () {
|
|
109
177
|
return this.createContactsInSingleBatch(Object.assign({ contacts: chunkContacts }, data), batchGroupId);
|
|
110
178
|
}));
|
|
@@ -112,6 +180,10 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
112
180
|
for (let i = 0; i < batchPromises.length; i += promisesBatchSize) {
|
|
113
181
|
const batch = batchPromises.slice(i, i + promisesBatchSize);
|
|
114
182
|
yield Promise.all(batch.map((p) => p()));
|
|
183
|
+
const contactsInBatches = contactsBatches
|
|
184
|
+
.slice(i, i + promisesBatchSize)
|
|
185
|
+
.reduce((acc, batch) => acc + batch.length, 0);
|
|
186
|
+
yield this.increaseBulkProgress(batchGroupId, batch.length, contactsInBatches);
|
|
115
187
|
}
|
|
116
188
|
});
|
|
117
189
|
}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"bulkContactsCreateApi.js","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contacts.d.ts","sourceRoot":"","sources":["../../src/Contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,8BAA8B,EAC9B,aAAa,EACd,MAAM,OAAO,CAAC;AAEf,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,qBAAqB,MAAM,6BAA6B,CAAC;AAShE,qBAAa,QAAS,SAAQ,IAAI;IAChC,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,8BAA8B,EAAE,8BAA8B,CAAC;IAC/E,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,aAAa,EAAE,qBAAqB,CAAC;IACrD,OAAO,CAAC,eAAe,CAAU;gBAQrB,MAAM,EAAE,cAAc;IAyBlC,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK;IAahC,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"Contacts.d.ts","sourceRoot":"","sources":["../../src/Contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,8BAA8B,EAC9B,aAAa,EACd,MAAM,OAAO,CAAC;AAEf,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,qBAAqB,MAAM,6BAA6B,CAAC;AAShE,qBAAa,QAAS,SAAQ,IAAI;IAChC,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,8BAA8B,EAAE,8BAA8B,CAAC;IAC/E,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,aAAa,EAAE,qBAAqB,CAAC;IACrD,OAAO,CAAC,eAAe,CAAU;gBAQrB,MAAM,EAAE,cAAc;IAyBlC,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK;IAahC,OAAO,CAAC,WAAW;CAUpB"}
|
|
@@ -6,7 +6,5 @@ export default class BatchProcessApi extends BaseApi {
|
|
|
6
6
|
getBatchProcess(id: string): Promise<BatchProcessResponseDto>;
|
|
7
7
|
trackBatchProcess(id: string): Promise<TrackBatchProcessResponse>;
|
|
8
8
|
getBatchProcessesGroup(groupId: string): Promise<BatchProcessResponseDto[]>;
|
|
9
|
-
indicesOn(): Promise<void>;
|
|
10
|
-
indicesOff(): Promise<void>;
|
|
11
9
|
}
|
|
12
10
|
//# sourceMappingURL=batchProcessApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchProcessApi.d.ts","sourceRoot":"","sources":["../../../src/api/batchProcessApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,uBAAuB,EAExB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAE/C,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYvD,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAyBjE,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"batchProcessApi.d.ts","sourceRoot":"","sources":["../../../src/api/batchProcessApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,uBAAuB,EAExB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAE/C,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYvD,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAyBjE,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;CAMlF"}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import { CalApiParams } from '@or-sdk/base';
|
|
2
2
|
import BaseWithPoling from './baseWithPolingApi';
|
|
3
3
|
import BatchProcessApi from './batchProcessApi';
|
|
4
|
-
import {
|
|
4
|
+
import { BulkCreateResultsDto, BulkProgressDto } from '@onereach/types-contacts-api';
|
|
5
|
+
import { BulkCreateData, BulkOptions } from '../types';
|
|
5
6
|
export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
6
7
|
protected readonly apiCall: <T>(params: CalApiParams) => Promise<T>;
|
|
7
8
|
protected batchProcessApi: BatchProcessApi;
|
|
8
9
|
constructor(apiCall: <T>(params: CalApiParams) => Promise<T>, batchProcessApi: BatchProcessApi);
|
|
9
10
|
private readonly apiBasePath;
|
|
10
|
-
bulkCreateContacts(data: BulkCreateData, options?: BulkOptions): Promise<
|
|
11
|
+
bulkCreateContacts(bulkName: string, data: BulkCreateData, options?: BulkOptions): Promise<BulkCreateResultsDto>;
|
|
12
|
+
getBulkProgress(bulkName: string): Promise<BulkProgressDto>;
|
|
13
|
+
setBulkProgress(bulkName: string): Promise<void>;
|
|
14
|
+
updateBulkProgress(bulkName: string, progress: BulkProgressDto): Promise<void>;
|
|
15
|
+
private increaseBulkProgress;
|
|
11
16
|
private updateContactsWithContactKeys;
|
|
17
|
+
private indicesOn;
|
|
18
|
+
private indicesOff;
|
|
12
19
|
private checkContactKeysDuplications;
|
|
13
|
-
|
|
20
|
+
getBulkCreateResults(batchGroupId: string): Promise<BulkCreateResultsDto>;
|
|
21
|
+
private callGetBulkResults;
|
|
14
22
|
private createContactsInSingleBatch;
|
|
15
23
|
private createContactsInMultiBatches;
|
|
16
24
|
}
|
|
@@ -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;AAIhD,OAAO,EAEL,oBAAoB,EACpB,eAAe,EAEhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAuB,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5E,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;IAgChC,kBAAkB,CAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,oBAAoB,CAAC;IAmC1B,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAO3D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAQtE,oBAAoB;IAgBlC,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;CAuB3C"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.5.
|
|
2
|
+
"version": "3.5.8-beta.2210.0",
|
|
3
3
|
"name": "@or-sdk/contacts",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"test:watch": "vitest --watch"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@onereach/types-contacts-api": "5.3
|
|
22
|
+
"@onereach/types-contacts-api": "5.6.3-beta.2534.0",
|
|
23
23
|
"@or-sdk/base": "^0.29.1",
|
|
24
24
|
"agentkeepalive": "^4.5.0",
|
|
25
25
|
"uuid": "^8.3.2"
|
|
@@ -35,6 +35,5 @@
|
|
|
35
35
|
},
|
|
36
36
|
"publishConfig": {
|
|
37
37
|
"access": "public"
|
|
38
|
-
}
|
|
39
|
-
"gitHead": "1f0c134ddc6673baa463e46e07d2a72c9354ddfe"
|
|
38
|
+
}
|
|
40
39
|
}
|
package/src/Contacts.ts
CHANGED
|
@@ -81,12 +81,13 @@ export class Contacts extends Base {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
private logApiError(e: AxiosError): void {
|
|
84
|
-
console.error(`
|
|
85
|
-
console.error(`host : ${e.request.host}`);
|
|
86
|
-
console.error(`path : ${e.request.path}`);
|
|
84
|
+
console.error(`url : ${e.config?.url}`);
|
|
87
85
|
console.error(`method : ${e.request.method}`);
|
|
88
|
-
console.error(`
|
|
89
|
-
console.error(`
|
|
86
|
+
console.error(`params : ${JSON.stringify(e.config?.params || {})}`);
|
|
87
|
+
console.error(`data : ${JSON.stringify(e.config?.data || {})}`);
|
|
88
|
+
console.error(`status code : ${e.request.res.statusCode}`);
|
|
89
|
+
console.error(`status message: ${e.request.res.statusMessage}`);
|
|
90
|
+
console.error(`authorization : ${e.config?.headers.Authorization}`);
|
|
90
91
|
}
|
|
91
92
|
|
|
92
93
|
}
|
|
@@ -52,19 +52,4 @@ export default class BatchProcessApi extends BaseApi {
|
|
|
52
52
|
route: `${this.apiBasePath}/group/${groupId}`,
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
|
-
|
|
56
|
-
async indicesOn(): Promise<void> {
|
|
57
|
-
return this.apiCall({
|
|
58
|
-
method: 'POST',
|
|
59
|
-
route: `${this.apiBasePath}/indices-on`,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
async indicesOff(): Promise<void> {
|
|
64
|
-
return this.apiCall({
|
|
65
|
-
method: 'POST',
|
|
66
|
-
route: `${this.apiBasePath}/indices-off`,
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
|
|
70
55
|
}
|
|
@@ -4,8 +4,13 @@ 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 {
|
|
8
|
-
|
|
7
|
+
import {
|
|
8
|
+
BulkContactDto,
|
|
9
|
+
BulkCreateResultsDto,
|
|
10
|
+
BulkProgressDto,
|
|
11
|
+
CreateBulkResponseDto,
|
|
12
|
+
} from '@onereach/types-contacts-api';
|
|
13
|
+
import { BatchBulkCreateData, BulkCreateData, BulkOptions } from '../types';
|
|
9
14
|
|
|
10
15
|
export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
11
16
|
constructor(
|
|
@@ -42,38 +47,88 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
42
47
|
* the appropriated contact.
|
|
43
48
|
* In the case if contactKey is not defined, it it will be automatically set to the index (as string)
|
|
44
49
|
* of contact.
|
|
50
|
+
*
|
|
51
|
+
* @param bulkName unique name for bulk operation to be used for tracking results
|
|
52
|
+
* @param data contacts data to be inserted
|
|
53
|
+
* @param options some bulk operation options for tuning DB server workload (use very carefully!!!)
|
|
45
54
|
*/
|
|
46
|
-
async bulkCreateContacts(
|
|
55
|
+
public async bulkCreateContacts(
|
|
56
|
+
bulkName: string,
|
|
47
57
|
data: BulkCreateData,
|
|
48
58
|
options: BulkOptions = {},
|
|
49
|
-
): Promise<
|
|
59
|
+
): Promise<BulkCreateResultsDto> {
|
|
50
60
|
const dataWithContactKeys = this.updateContactsWithContactKeys(data);
|
|
51
61
|
const { batchSize = REQUEST_PAYLOAD_MAX_BYTES } = options;
|
|
52
|
-
await this.
|
|
53
|
-
|
|
62
|
+
await this.indicesOff();
|
|
63
|
+
const results: BulkCreateResultsDto = {
|
|
54
64
|
created: {},
|
|
55
65
|
failed: {},
|
|
56
66
|
};
|
|
67
|
+
await this.setBulkProgress(bulkName);
|
|
57
68
|
try {
|
|
58
69
|
const { contacts, ...rest } = dataWithContactKeys;
|
|
59
70
|
const contactsMaxSize = batchSize - getObjectSizeInBytes({ ...rest });
|
|
60
71
|
const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
|
|
61
|
-
|
|
72
|
+
await this.updateBulkProgress(bulkName, {
|
|
73
|
+
totalBatches: contactsChunks.length,
|
|
74
|
+
totalContacts: contacts.length,
|
|
75
|
+
completedBatches: 0,
|
|
76
|
+
completedContacts: 0,
|
|
77
|
+
});
|
|
62
78
|
|
|
63
79
|
if (contactsChunks.length === 1) {
|
|
64
|
-
await this.createContactsInSingleBatch(dataWithContactKeys as BatchBulkCreateData,
|
|
80
|
+
await this.createContactsInSingleBatch(dataWithContactKeys as BatchBulkCreateData, bulkName);
|
|
81
|
+
await this.increaseBulkProgress(bulkName, 1, dataWithContactKeys.contacts.length);
|
|
65
82
|
} else {
|
|
66
|
-
await this.createContactsInMultiBatches(contactsChunks as BulkContactDto[][], rest,
|
|
83
|
+
await this.createContactsInMultiBatches(contactsChunks as BulkContactDto[][], rest, bulkName);
|
|
67
84
|
}
|
|
68
|
-
|
|
69
|
-
results = await this.getBulkCreateResults(batchGroupId);
|
|
70
85
|
} finally {
|
|
71
|
-
|
|
86
|
+
const indicesOnBatchId = v4();
|
|
87
|
+
this.indicesOn(indicesOnBatchId);
|
|
88
|
+
await debouncePromise(() => this.polling(indicesOnBatchId), 3000);
|
|
72
89
|
}
|
|
73
90
|
|
|
74
91
|
return results;
|
|
75
92
|
}
|
|
76
93
|
|
|
94
|
+
async getBulkProgress(bulkName: string): Promise<BulkProgressDto> {
|
|
95
|
+
return this.apiCall({
|
|
96
|
+
method: 'GET',
|
|
97
|
+
route: `${this.apiBasePath}/bulk-progress/${bulkName}`,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
async setBulkProgress(bulkName: string): Promise<void> {
|
|
102
|
+
return this.apiCall({
|
|
103
|
+
method: 'POST',
|
|
104
|
+
route: `${this.apiBasePath}/bulk-progress/${bulkName}`,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
async updateBulkProgress(bulkName: string, progress: BulkProgressDto): Promise<void> {
|
|
109
|
+
return this.apiCall({
|
|
110
|
+
method: 'PATCH',
|
|
111
|
+
route: `${this.apiBasePath}/bulk-progress/${bulkName}`,
|
|
112
|
+
data: progress,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
private async increaseBulkProgress(bulkName: string, batchesDelta: number, contactsDelta: number): Promise<void> {
|
|
117
|
+
const {
|
|
118
|
+
totalBatches,
|
|
119
|
+
totalContacts,
|
|
120
|
+
completedBatches,
|
|
121
|
+
completedContacts,
|
|
122
|
+
} = await this.getBulkProgress(bulkName);
|
|
123
|
+
|
|
124
|
+
await this.updateBulkProgress(bulkName, {
|
|
125
|
+
totalBatches,
|
|
126
|
+
totalContacts,
|
|
127
|
+
completedBatches: completedBatches + batchesDelta,
|
|
128
|
+
completedContacts: completedContacts + contactsDelta,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
77
132
|
private updateContactsWithContactKeys(data: BulkCreateData): BatchBulkCreateData {
|
|
78
133
|
const dataWithContactKeys = {
|
|
79
134
|
...data,
|
|
@@ -93,6 +148,20 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
93
148
|
return dataWithContactKeys;
|
|
94
149
|
}
|
|
95
150
|
|
|
151
|
+
private async indicesOn(batchId: string): Promise<void> {
|
|
152
|
+
return this.apiCall({
|
|
153
|
+
method: 'POST',
|
|
154
|
+
route: `${this.apiBasePath}/indices-on/${batchId}`,
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
private async indicesOff(): Promise<void> {
|
|
159
|
+
return this.apiCall({
|
|
160
|
+
method: 'POST',
|
|
161
|
+
route: `${this.apiBasePath}/indices-off`,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
|
|
96
165
|
private checkContactKeysDuplications(contacts: BulkContactDto[]): void {
|
|
97
166
|
contacts.map(({ contactKey }) => contactKey).forEach((key, index, array) => {
|
|
98
167
|
if (index !== array.lastIndexOf(key)) {
|
|
@@ -101,30 +170,32 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
101
170
|
});
|
|
102
171
|
}
|
|
103
172
|
|
|
104
|
-
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
173
|
+
public async getBulkCreateResults(batchGroupId: string): Promise<BulkCreateResultsDto> {
|
|
174
|
+
const { total, results: firstResults, size } = await this.callGetBulkResults(batchGroupId, 0);
|
|
175
|
+
let results = { ...firstResults };
|
|
176
|
+
|
|
177
|
+
if (total > size) {
|
|
178
|
+
for (let i = 1;i <= Math.ceil((total - size) / size);i ++) {
|
|
179
|
+
const { results: nextResults } = await this.callGetBulkResults(batchGroupId, i * 500);
|
|
180
|
+
results = {
|
|
181
|
+
created: {
|
|
182
|
+
...results.created,
|
|
183
|
+
...nextResults.created,
|
|
184
|
+
},
|
|
185
|
+
failed: {
|
|
186
|
+
...results.failed,
|
|
187
|
+
...nextResults.created,
|
|
188
|
+
},
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return results;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
private async callGetBulkResults(batchGroupId: string, skip: number): Promise<CreateBulkResponseDto> {
|
|
196
|
+
return await this.apiCall<CreateBulkResponseDto>({
|
|
197
|
+
method: 'GET',
|
|
198
|
+
route: `${this.apiBasePath}/bulk-results/${batchGroupId}/${skip}`,
|
|
128
199
|
});
|
|
129
200
|
}
|
|
130
201
|
|
|
@@ -147,11 +218,11 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
147
218
|
}
|
|
148
219
|
|
|
149
220
|
private async createContactsInMultiBatches(
|
|
150
|
-
|
|
221
|
+
contactsBatches: BulkContactDto[][],
|
|
151
222
|
data: Omit<BulkCreateData, 'contacts'>,
|
|
152
223
|
batchGroupId: string,
|
|
153
224
|
): Promise<void> {
|
|
154
|
-
const batchPromises =
|
|
225
|
+
const batchPromises = contactsBatches
|
|
155
226
|
.map((chunkContacts) => async () => this.createContactsInSingleBatch({
|
|
156
227
|
contacts: chunkContacts,
|
|
157
228
|
...data,
|
|
@@ -162,6 +233,10 @@ export default class BulkContactsCreateApi extends BaseWithPoling {
|
|
|
162
233
|
for (let i = 0;i < batchPromises.length;i += promisesBatchSize) {
|
|
163
234
|
const batch = batchPromises.slice(i, i + promisesBatchSize);
|
|
164
235
|
await Promise.all(batch.map((p) => p()));
|
|
236
|
+
const contactsInBatches = contactsBatches
|
|
237
|
+
.slice(i, i + promisesBatchSize)
|
|
238
|
+
.reduce((acc, batch) => acc + batch.length, 0);
|
|
239
|
+
await this.increaseBulkProgress(batchGroupId, batch.length, contactsInBatches);
|
|
165
240
|
}
|
|
166
241
|
}
|
|
167
242
|
|