@or-sdk/contacts 3.5.12-beta.2317.0 → 3.5.12-beta.2318.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 +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 +2 -2
- 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/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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"}
|