@or-sdk/contacts 3.5.12-beta.2317.0 → 4.0.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/CHANGELOG.md +13 -0
- package/README.md +10 -61
- package/dist/cjs/Contacts.js +11 -7
- package/dist/cjs/Contacts.js.map +1 -1
- package/dist/cjs/api/bulkContactsCreateApi.js +181 -144
- package/dist/cjs/api/bulkContactsCreateApi.js.map +1 -1
- package/dist/cjs/api/contactApi.js +0 -123
- package/dist/cjs/api/contactApi.js.map +1 -1
- package/dist/cjs/constants.js +3 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/esm/Contacts.js +11 -7
- package/dist/esm/Contacts.js.map +1 -1
- package/dist/esm/api/bulkContactsCreateApi.js +98 -91
- package/dist/esm/api/bulkContactsCreateApi.js.map +1 -1
- package/dist/esm/api/contactApi.js +3 -71
- package/dist/esm/api/contactApi.js.map +1 -1
- package/dist/esm/constants.js +2 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/types/Contacts.d.ts.map +1 -1
- package/dist/types/api/bulkContactsCreateApi.d.ts +5 -9
- package/dist/types/api/bulkContactsCreateApi.d.ts.map +1 -1
- package/dist/types/api/contactApi.d.ts +1 -6
- package/dist/types/api/contactApi.d.ts.map +1 -1
- package/dist/types/constants.d.ts +2 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/types.d.ts +13 -2
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/Contacts.ts +8 -5
- package/src/api/bulkContactsCreateApi.ts +72 -124
- package/src/api/contactApi.ts +3 -109
- package/src/constants.ts +4 -0
- package/src/types.ts +13 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,19 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [4.0.0](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/contacts@3.5.11...@or-sdk/contacts@4.0.0) (2024-01-24)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### ⚠ BREAKING CHANGES
|
|
10
|
+
|
|
11
|
+
* **contacts:** bulk create optimization
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* **contacts:** bulk create optimization ([6a40e5a](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/commit/6a40e5aaecd0b7de75759d170c9d71555d7e45bc))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
6
19
|
## [3.5.11](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/contacts@3.5.10...@or-sdk/contacts@3.5.11) (2024-01-09)
|
|
7
20
|
|
|
8
21
|
|
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ const { bulkCreateApi } = new Contacts({
|
|
|
61
61
|
// operation successfully, however, if bulk fails due to PostgreSQL
|
|
62
62
|
// server workload, you can try to decrease the batch size with the
|
|
63
63
|
// appropriated option
|
|
64
|
-
const { created, failed } = bulkCreateApi.bulkCreateContacts(
|
|
64
|
+
const { created, failed } = await bulkCreateApi.bulkCreateContacts(
|
|
65
65
|
'some bulk name', // bulkName
|
|
66
66
|
{
|
|
67
67
|
contact_book: 'some book id', // optional
|
|
@@ -78,34 +78,9 @@ const { created, failed } = bulkCreateApi.bulkCreateContacts(
|
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
## Track bulk progress
|
|
81
|
-
|
|
82
|
-
### With trackBulkProgress
|
|
83
|
-
|
|
84
|
-
Pay attention, please, the `getBulkProgress` should be run in parallel with bulkCreateContacts process!
|
|
85
|
-
|
|
86
|
-
```typescript
|
|
87
|
-
const { bulkCreateApi } = new Contacts({
|
|
88
|
-
contactsApiUrl: ...,
|
|
89
|
-
accountId: ...,
|
|
90
|
-
token: ...,
|
|
91
|
-
withKeepAliveAgents: true
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
const {
|
|
95
|
-
totalBatches,
|
|
96
|
-
totalContacts,
|
|
97
|
-
completedBatches,
|
|
98
|
-
completedContacts,
|
|
99
|
-
} = await bulkCreateApi.getBulkProgress('bulkName');
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### With onProgress callback
|
|
104
|
-
|
|
105
81
|
```typescript
|
|
106
82
|
import { Contacts } from '@or-sdk/contacts'
|
|
107
83
|
|
|
108
|
-
// always use 'withKeepAliveAgents' option for bulk create
|
|
109
84
|
const { bulkCreateApi } = new Contacts({
|
|
110
85
|
contactsApiUrl: ...,
|
|
111
86
|
accountId: ...,
|
|
@@ -113,42 +88,16 @@ const { bulkCreateApi } = new Contacts({
|
|
|
113
88
|
withKeepAliveAgents: true
|
|
114
89
|
});
|
|
115
90
|
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
console.log('completedBatches = ', completedBatches);
|
|
125
|
-
console.log('totalContacts = ', totalContacts);
|
|
126
|
-
console.log('completedContacts = ', completedContacts);
|
|
91
|
+
for await (const bulkResults of bulkCreateApi.trackBulkCreateContacts('bulkName', data)) {
|
|
92
|
+
if (bulkResults.type === 'progress') {
|
|
93
|
+
const progress = bulkResults.results;
|
|
94
|
+
// do progress related operations here
|
|
95
|
+
} else {
|
|
96
|
+
const results = bulkResults.results;
|
|
97
|
+
// process final results here
|
|
98
|
+
}
|
|
127
99
|
|
|
128
100
|
}
|
|
129
101
|
|
|
130
|
-
const { created, failed } = bulkCreateApi.bulkCreateContacts(
|
|
131
|
-
'some bulk name',
|
|
132
|
-
{
|
|
133
|
-
contact_book: 'some book id',
|
|
134
|
-
contacts: [...]
|
|
135
|
-
},
|
|
136
|
-
{ batchSize: 4000000 },
|
|
137
|
-
onBulkProgressCallback
|
|
138
|
-
);
|
|
139
102
|
```
|
|
140
|
-
|
|
141
|
-
Also note that onBulkProgressCallback can be passed as the 3-rd argument, if you don't need to specify any additional bulk options:
|
|
142
|
-
|
|
143
|
-
```typescript
|
|
144
|
-
const { created, failed } = bulkCreateApi.bulkCreateContacts(
|
|
145
|
-
'some bulk name',
|
|
146
|
-
{
|
|
147
|
-
contact_book: 'some book id',
|
|
148
|
-
contacts: [...]
|
|
149
|
-
},
|
|
150
|
-
{ batchSize: 4000000 },
|
|
151
|
-
onBulkProgressCallback
|
|
152
|
-
);
|
|
153
|
-
|
|
154
|
-
```
|
|
103
|
+
|
package/dist/cjs/Contacts.js
CHANGED
|
@@ -69,14 +69,18 @@ var Contacts = (function (_super) {
|
|
|
69
69
|
return parsedError;
|
|
70
70
|
};
|
|
71
71
|
Contacts.prototype.logApiError = function (e) {
|
|
72
|
-
var _a, _b, _c
|
|
72
|
+
var _a, _b, _c;
|
|
73
73
|
console.error("url : ".concat((_a = e.config) === null || _a === void 0 ? void 0 : _a.url));
|
|
74
|
-
console.error("method : ".concat(
|
|
75
|
-
console.error("params : ".concat(JSON.stringify(((
|
|
76
|
-
console.error("data : ".concat(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
74
|
+
console.error("method : ".concat(e.request.method));
|
|
75
|
+
console.error("params : ".concat(JSON.stringify(((_b = e.config) === null || _b === void 0 ? void 0 : _b.params) || {})));
|
|
76
|
+
console.error("data : ".concat((function () {
|
|
77
|
+
var _a;
|
|
78
|
+
var str = JSON.stringify(((_a = e.config) === null || _a === void 0 ? void 0 : _a.data) || {});
|
|
79
|
+
return str.length > 150 ? str.slice(0, 149) + '...' : str;
|
|
80
|
+
})()));
|
|
81
|
+
console.error("status code : ".concat(e.request.res.statusCode));
|
|
82
|
+
console.error("status message: ".concat(e.request.res.statusMessage));
|
|
83
|
+
console.error("authorization : ".concat((_c = e.config) === null || _c === void 0 ? void 0 : _c.headers.Authorization));
|
|
80
84
|
};
|
|
81
85
|
return Contacts;
|
|
82
86
|
}(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;;QAC/B,OAAO,CAAC,KAAK,CAAC,0BAAmB,MAAA,CAAC,CAAC,MAAM,0CAAE,GAAG,CAAE,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,0BAAmB,
|
|
1
|
+
{"version":3,"file":"Contacts.js","sourceRoot":"","sources":["../../src/Contacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
61
61
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
65
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
66
|
+
var m = o[Symbol.asyncIterator], i;
|
|
67
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
68
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
69
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
70
|
+
};
|
|
64
71
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
65
72
|
var t = {};
|
|
66
73
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -72,6 +79,18 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
72
79
|
}
|
|
73
80
|
return t;
|
|
74
81
|
};
|
|
82
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
83
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
84
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
85
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
86
|
+
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
87
|
+
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
|
88
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
89
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
90
|
+
function fulfill(value) { resume("next", value); }
|
|
91
|
+
function reject(value) { resume("throw", value); }
|
|
92
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
93
|
+
};
|
|
75
94
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
76
95
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
77
96
|
};
|
|
@@ -89,126 +108,118 @@ var BulkContactsCreateApi = (function (_super) {
|
|
|
89
108
|
_this.apiBasePath = 'bulk-create';
|
|
90
109
|
return _this;
|
|
91
110
|
}
|
|
92
|
-
BulkContactsCreateApi.prototype.bulkCreateContacts = function (bulkName, data,
|
|
111
|
+
BulkContactsCreateApi.prototype.bulkCreateContacts = function (bulkName, data, options) {
|
|
112
|
+
var e_1, _a;
|
|
113
|
+
if (options === void 0) { options = {}; }
|
|
93
114
|
return __awaiter(this, void 0, void 0, function () {
|
|
94
|
-
var
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
switch (_c.label) {
|
|
115
|
+
var _b, _c, _d, type, results, e_1_1;
|
|
116
|
+
return __generator(this, function (_e) {
|
|
117
|
+
switch (_e.label) {
|
|
98
118
|
case 0:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
case 1:
|
|
104
|
-
_c.sent();
|
|
105
|
-
results = {
|
|
106
|
-
created: {},
|
|
107
|
-
failed: {},
|
|
108
|
-
};
|
|
109
|
-
return [4, this.setBulkProgress(bulkName)];
|
|
119
|
+
_e.trys.push([0, 5, 6, 11]);
|
|
120
|
+
_b = __asyncValues(this.trackBulkCreateContacts(bulkName, data, options));
|
|
121
|
+
_e.label = 1;
|
|
122
|
+
case 1: return [4, _b.next()];
|
|
110
123
|
case 2:
|
|
111
|
-
_c.sent();
|
|
112
|
-
_c.
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
totalBatches: contactsChunks.length,
|
|
120
|
-
totalContacts: contacts.length,
|
|
121
|
-
completedBatches: 0,
|
|
122
|
-
completedContacts: 0,
|
|
123
|
-
})];
|
|
124
|
-
case 4:
|
|
125
|
-
_c.sent();
|
|
126
|
-
if (!(contactsChunks.length === 1)) return [3, 7];
|
|
127
|
-
return [4, this.createContactsInSingleBatch(dataWithContactKeys, bulkName)];
|
|
124
|
+
if (!(_c = _e.sent(), !_c.done)) return [3, 4];
|
|
125
|
+
_d = _c.value, type = _d.type, results = _d.results;
|
|
126
|
+
if (type === 'results') {
|
|
127
|
+
return [2, results];
|
|
128
|
+
}
|
|
129
|
+
_e.label = 3;
|
|
130
|
+
case 3: return [3, 1];
|
|
131
|
+
case 4: return [3, 11];
|
|
128
132
|
case 5:
|
|
129
|
-
|
|
130
|
-
|
|
133
|
+
e_1_1 = _e.sent();
|
|
134
|
+
e_1 = { error: e_1_1 };
|
|
135
|
+
return [3, 11];
|
|
131
136
|
case 6:
|
|
132
|
-
|
|
133
|
-
return [3,
|
|
134
|
-
|
|
135
|
-
case
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
case
|
|
139
|
-
case
|
|
140
|
-
|
|
141
|
-
this.indicesOn(indicesOnBatchId_1);
|
|
142
|
-
return [4, (0, utils_1.debouncePromise)(function () { return _this.polling(indicesOnBatchId_1); }, 3000)];
|
|
143
|
-
case 11:
|
|
144
|
-
_c.sent();
|
|
137
|
+
_e.trys.push([6, , 9, 10]);
|
|
138
|
+
if (!(_c && !_c.done && (_a = _b.return))) return [3, 8];
|
|
139
|
+
return [4, _a.call(_b)];
|
|
140
|
+
case 7:
|
|
141
|
+
_e.sent();
|
|
142
|
+
_e.label = 8;
|
|
143
|
+
case 8: return [3, 10];
|
|
144
|
+
case 9:
|
|
145
|
+
if (e_1) throw e_1.error;
|
|
145
146
|
return [7];
|
|
146
|
-
case
|
|
147
|
+
case 10: return [7];
|
|
148
|
+
case 11: return [2, {
|
|
149
|
+
created: {},
|
|
150
|
+
failed: {},
|
|
151
|
+
}];
|
|
147
152
|
}
|
|
148
153
|
});
|
|
149
154
|
});
|
|
150
155
|
};
|
|
151
|
-
BulkContactsCreateApi.prototype.
|
|
152
|
-
if (
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
return
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
return [function () { }, {}];
|
|
162
|
-
};
|
|
163
|
-
BulkContactsCreateApi.prototype.getBulkProgress = function (bulkName) {
|
|
164
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
165
|
-
return __generator(this, function (_a) {
|
|
166
|
-
return [2, this.apiCall({
|
|
167
|
-
method: 'GET',
|
|
168
|
-
route: "".concat(this.apiBasePath, "/bulk-progress/").concat(bulkName),
|
|
169
|
-
})];
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
};
|
|
173
|
-
BulkContactsCreateApi.prototype.setBulkProgress = function (bulkName) {
|
|
174
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
175
|
-
return __generator(this, function (_a) {
|
|
176
|
-
return [2, this.apiCall({
|
|
177
|
-
method: 'POST',
|
|
178
|
-
route: "".concat(this.apiBasePath, "/bulk-progress/").concat(bulkName),
|
|
179
|
-
})];
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
};
|
|
183
|
-
BulkContactsCreateApi.prototype.updateBulkProgress = function (bulkName, progress) {
|
|
184
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
185
|
-
return __generator(this, function (_a) {
|
|
186
|
-
return [2, this.apiCall({
|
|
187
|
-
method: 'PATCH',
|
|
188
|
-
route: "".concat(this.apiBasePath, "/bulk-progress/").concat(bulkName),
|
|
189
|
-
data: progress,
|
|
190
|
-
})];
|
|
191
|
-
});
|
|
192
|
-
});
|
|
193
|
-
};
|
|
194
|
-
BulkContactsCreateApi.prototype.increaseBulkProgress = function (bulkName, batchesDelta, contactsDelta) {
|
|
195
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
196
|
-
var _a, totalBatches, totalContacts, completedBatches, completedContacts, progress;
|
|
197
|
-
return __generator(this, function (_b) {
|
|
198
|
-
switch (_b.label) {
|
|
199
|
-
case 0: return [4, this.getBulkProgress(bulkName)];
|
|
156
|
+
BulkContactsCreateApi.prototype.trackBulkCreateContacts = function (bulkName, data, options) {
|
|
157
|
+
if (options === void 0) { options = {}; }
|
|
158
|
+
return __asyncGenerator(this, arguments, function trackBulkCreateContacts_1() {
|
|
159
|
+
var dataWithContactKeys, contacts, rest, contactsMaxSize, contactsChunks, _a, _b, progress, e_2_1, results;
|
|
160
|
+
var e_2, _c;
|
|
161
|
+
return __generator(this, function (_d) {
|
|
162
|
+
switch (_d.label) {
|
|
163
|
+
case 0:
|
|
164
|
+
dataWithContactKeys = this.updateContactsWithContactKeys(data);
|
|
165
|
+
_d.label = 1;
|
|
200
166
|
case 1:
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
};
|
|
208
|
-
return [4, this.updateBulkProgress(bulkName, progress)];
|
|
167
|
+
_d.trys.push([1, , 17, 18]);
|
|
168
|
+
contacts = dataWithContactKeys.contacts, rest = __rest(dataWithContactKeys, ["contacts"]);
|
|
169
|
+
contactsMaxSize = options.batchSize || constants_1.REQUEST_PAYLOAD_MAX_BYTES - (0, utils_1.getObjectSizeInBytes)(__assign({}, rest));
|
|
170
|
+
contactsChunks = (0, utils_1.chunkArrByMaxSize)(contacts, contactsMaxSize);
|
|
171
|
+
if (!(contactsChunks.length === 1 || options.batchesToProcess === 1)) return [3, 3];
|
|
172
|
+
return [4, __await(this.createContactsInSingleBatch(dataWithContactKeys, bulkName))];
|
|
209
173
|
case 2:
|
|
210
|
-
|
|
211
|
-
return [
|
|
174
|
+
_d.sent();
|
|
175
|
+
return [3, 16];
|
|
176
|
+
case 3:
|
|
177
|
+
_d.trys.push([3, 10, 11, 16]);
|
|
178
|
+
_a = __asyncValues(this.createContactsInMultiBatches(contactsChunks, rest, bulkName, options));
|
|
179
|
+
_d.label = 4;
|
|
180
|
+
case 4: return [4, __await(_a.next())];
|
|
181
|
+
case 5:
|
|
182
|
+
if (!(_b = _d.sent(), !_b.done)) return [3, 9];
|
|
183
|
+
progress = _b.value;
|
|
184
|
+
return [4, __await({
|
|
185
|
+
type: 'progress',
|
|
186
|
+
results: progress,
|
|
187
|
+
})];
|
|
188
|
+
case 6: return [4, _d.sent()];
|
|
189
|
+
case 7:
|
|
190
|
+
_d.sent();
|
|
191
|
+
_d.label = 8;
|
|
192
|
+
case 8: return [3, 4];
|
|
193
|
+
case 9: return [3, 16];
|
|
194
|
+
case 10:
|
|
195
|
+
e_2_1 = _d.sent();
|
|
196
|
+
e_2 = { error: e_2_1 };
|
|
197
|
+
return [3, 16];
|
|
198
|
+
case 11:
|
|
199
|
+
_d.trys.push([11, , 14, 15]);
|
|
200
|
+
if (!(_b && !_b.done && (_c = _a.return))) return [3, 13];
|
|
201
|
+
return [4, __await(_c.call(_a))];
|
|
202
|
+
case 12:
|
|
203
|
+
_d.sent();
|
|
204
|
+
_d.label = 13;
|
|
205
|
+
case 13: return [3, 15];
|
|
206
|
+
case 14:
|
|
207
|
+
if (e_2) throw e_2.error;
|
|
208
|
+
return [7];
|
|
209
|
+
case 15: return [7];
|
|
210
|
+
case 16: return [3, 18];
|
|
211
|
+
case 17: return [7];
|
|
212
|
+
case 18: return [4, __await(this.getBulkCreateResults(bulkName, options))];
|
|
213
|
+
case 19:
|
|
214
|
+
results = _d.sent();
|
|
215
|
+
return [4, __await({
|
|
216
|
+
type: 'results',
|
|
217
|
+
results: results,
|
|
218
|
+
})];
|
|
219
|
+
case 20: return [4, _d.sent()];
|
|
220
|
+
case 21:
|
|
221
|
+
_d.sent();
|
|
222
|
+
return [2];
|
|
212
223
|
}
|
|
213
224
|
});
|
|
214
225
|
});
|
|
@@ -223,23 +234,43 @@ var BulkContactsCreateApi = (function (_super) {
|
|
|
223
234
|
this.checkContactKeysDuplications(dataWithContactKeys.contacts);
|
|
224
235
|
return dataWithContactKeys;
|
|
225
236
|
};
|
|
226
|
-
BulkContactsCreateApi.prototype.indicesOn = function (
|
|
237
|
+
BulkContactsCreateApi.prototype.indicesOn = function () {
|
|
227
238
|
return __awaiter(this, void 0, void 0, function () {
|
|
239
|
+
var indicesOnBatchId;
|
|
240
|
+
var _this = this;
|
|
228
241
|
return __generator(this, function (_a) {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
242
|
+
switch (_a.label) {
|
|
243
|
+
case 0:
|
|
244
|
+
indicesOnBatchId = (0, uuid_1.v4)();
|
|
245
|
+
this.apiCall({
|
|
246
|
+
method: 'POST',
|
|
247
|
+
route: "".concat(this.apiBasePath, "/indices-on/").concat(indicesOnBatchId),
|
|
248
|
+
});
|
|
249
|
+
return [4, (0, utils_1.debouncePromise)(function () { return _this.polling(indicesOnBatchId); }, 3000)];
|
|
250
|
+
case 1:
|
|
251
|
+
_a.sent();
|
|
252
|
+
return [2];
|
|
253
|
+
}
|
|
233
254
|
});
|
|
234
255
|
});
|
|
235
256
|
};
|
|
236
257
|
BulkContactsCreateApi.prototype.indicesOff = function () {
|
|
237
258
|
return __awaiter(this, void 0, void 0, function () {
|
|
259
|
+
var indicesOffBatchId;
|
|
260
|
+
var _this = this;
|
|
238
261
|
return __generator(this, function (_a) {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
262
|
+
switch (_a.label) {
|
|
263
|
+
case 0:
|
|
264
|
+
indicesOffBatchId = (0, uuid_1.v4)();
|
|
265
|
+
this.apiCall({
|
|
266
|
+
method: 'POST',
|
|
267
|
+
route: "".concat(this.apiBasePath, "/indices-off/").concat(indicesOffBatchId),
|
|
268
|
+
});
|
|
269
|
+
return [4, (0, utils_1.debouncePromise)(function () { return _this.polling(indicesOffBatchId); }, 3000)];
|
|
270
|
+
case 1:
|
|
271
|
+
_a.sent();
|
|
272
|
+
return [2];
|
|
273
|
+
}
|
|
243
274
|
});
|
|
244
275
|
});
|
|
245
276
|
};
|
|
@@ -253,21 +284,22 @@ var BulkContactsCreateApi = (function (_super) {
|
|
|
253
284
|
}
|
|
254
285
|
});
|
|
255
286
|
};
|
|
256
|
-
BulkContactsCreateApi.prototype.getBulkCreateResults = function (batchGroupId) {
|
|
287
|
+
BulkContactsCreateApi.prototype.getBulkCreateResults = function (batchGroupId, options) {
|
|
257
288
|
return __awaiter(this, void 0, void 0, function () {
|
|
258
|
-
var _a, total, firstResults, size, results, i, nextResults;
|
|
289
|
+
var _a, total, firstResults, size, results, pageSize, i, nextResults;
|
|
259
290
|
return __generator(this, function (_b) {
|
|
260
291
|
switch (_b.label) {
|
|
261
292
|
case 0: return [4, this.callGetBulkResults(batchGroupId, 0)];
|
|
262
293
|
case 1:
|
|
263
294
|
_a = _b.sent(), total = _a.total, firstResults = _a.results, size = _a.size;
|
|
264
295
|
results = __assign({}, firstResults);
|
|
296
|
+
pageSize = options.bulkResultsPageSize || constants_1.BULK_RESULT_PAGE_SIZE;
|
|
265
297
|
if (!(total > size)) return [3, 5];
|
|
266
298
|
i = 1;
|
|
267
299
|
_b.label = 2;
|
|
268
300
|
case 2:
|
|
269
301
|
if (!(i <= Math.ceil((total - size) / size))) return [3, 5];
|
|
270
|
-
return [4, this.callGetBulkResults(batchGroupId, i *
|
|
302
|
+
return [4, this.callGetBulkResults(batchGroupId, i * pageSize)];
|
|
271
303
|
case 3:
|
|
272
304
|
nextResults = (_b.sent()).results;
|
|
273
305
|
results = {
|
|
@@ -286,13 +318,10 @@ var BulkContactsCreateApi = (function (_super) {
|
|
|
286
318
|
BulkContactsCreateApi.prototype.callGetBulkResults = function (batchGroupId, skip) {
|
|
287
319
|
return __awaiter(this, void 0, void 0, function () {
|
|
288
320
|
return __generator(this, function (_a) {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
})];
|
|
294
|
-
case 1: return [2, _a.sent()];
|
|
295
|
-
}
|
|
321
|
+
return [2, this.apiCall({
|
|
322
|
+
method: 'GET',
|
|
323
|
+
route: "".concat(this.apiBasePath, "/bulk-results/").concat(batchGroupId, "/").concat(skip),
|
|
324
|
+
})];
|
|
296
325
|
});
|
|
297
326
|
});
|
|
298
327
|
};
|
|
@@ -317,9 +346,9 @@ var BulkContactsCreateApi = (function (_super) {
|
|
|
317
346
|
});
|
|
318
347
|
});
|
|
319
348
|
};
|
|
320
|
-
BulkContactsCreateApi.prototype.createContactsInMultiBatches = function (contactsBatches, data, batchGroupId,
|
|
321
|
-
return
|
|
322
|
-
var batchPromises,
|
|
349
|
+
BulkContactsCreateApi.prototype.createContactsInMultiBatches = function (contactsBatches, data, batchGroupId, options) {
|
|
350
|
+
return __asyncGenerator(this, arguments, function createContactsInMultiBatches_1() {
|
|
351
|
+
var batchPromises, parallelBatchesAmount, progress, i, batch;
|
|
323
352
|
var _this = this;
|
|
324
353
|
return __generator(this, function (_a) {
|
|
325
354
|
switch (_a.label) {
|
|
@@ -330,27 +359,35 @@ var BulkContactsCreateApi = (function (_super) {
|
|
|
330
359
|
return [2, this.createContactsInSingleBatch(__assign({ contacts: chunkContacts }, data), batchGroupId)];
|
|
331
360
|
});
|
|
332
361
|
}); }; });
|
|
333
|
-
|
|
362
|
+
parallelBatchesAmount = options.parallelBatchesAmount || constants_1.MAX_PARALLEL_BATCH_PROCESSING;
|
|
363
|
+
progress = {
|
|
364
|
+
totalBatches: contactsBatches.length,
|
|
365
|
+
totalContacts: contactsBatches.map(function (b) { return b.length; }).reduce(function (acc, curr) { return acc + curr; }, 0),
|
|
366
|
+
completedBatches: 0,
|
|
367
|
+
completedContacts: 0,
|
|
368
|
+
};
|
|
334
369
|
i = 0;
|
|
335
370
|
_a.label = 1;
|
|
336
371
|
case 1:
|
|
337
|
-
if (!(i < batchPromises.length)) return [3,
|
|
338
|
-
batch = batchPromises.slice(i, i +
|
|
339
|
-
return [4, Promise.all(batch.map(function (p) { return p(); }))];
|
|
372
|
+
if (!(i < (options.batchesToProcess || batchPromises.length))) return [3, 6];
|
|
373
|
+
batch = batchPromises.slice(i, i + parallelBatchesAmount);
|
|
374
|
+
return [4, __await(Promise.all(batch.map(function (p) { return p(); })))];
|
|
340
375
|
case 2:
|
|
341
376
|
_a.sent();
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
.
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
_a.label = 4;
|
|
377
|
+
progress.completedBatches += batch.length;
|
|
378
|
+
progress.completedContacts += contactsBatches
|
|
379
|
+
.slice(i, i + parallelBatchesAmount)
|
|
380
|
+
.map(function (batch) { return batch.length; })
|
|
381
|
+
.reduce(function (acc, curr) { return acc + curr; }, 0);
|
|
382
|
+
return [4, __await(progress)];
|
|
383
|
+
case 3: return [4, _a.sent()];
|
|
350
384
|
case 4:
|
|
351
|
-
|
|
385
|
+
_a.sent();
|
|
386
|
+
_a.label = 5;
|
|
387
|
+
case 5:
|
|
388
|
+
i += parallelBatchesAmount;
|
|
352
389
|
return [3, 1];
|
|
353
|
-
case
|
|
390
|
+
case 6: return [2];
|
|
354
391
|
}
|
|
355
392
|
});
|
|
356
393
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulkContactsCreateApi.js","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bulkContactsCreateApi.js","sourceRoot":"","sources":["../../../src/api/bulkContactsCreateApi.ts"],"names":[],"mappings":"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"}
|