@or-sdk/contacts 3.1.1-beta.1597.0 → 3.1.1-beta.1612.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/contactApi.js +11 -32
- package/dist/cjs/api/contactApi.js.map +1 -1
- package/dist/cjs/api/migrationsApi.js +94 -0
- package/dist/cjs/api/migrationsApi.js.map +1 -1
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/api/contactApi.js +1 -21
- package/dist/esm/api/contactApi.js.map +1 -1
- package/dist/esm/api/migrationsApi.js +52 -0
- package/dist/esm/api/migrationsApi.js.map +1 -1
- package/dist/esm/utils.js.map +1 -1
- package/dist/types/api/contactApi.d.ts.map +1 -1
- package/dist/types/api/migrationsApi.d.ts +8 -0
- package/dist/types/api/migrationsApi.d.ts.map +1 -1
- package/dist/types/utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/api/contactApi.ts +1 -23
- package/src/api/migrationsApi.ts +51 -0
- package/src/utils.ts +0 -1
|
@@ -132,20 +132,14 @@ var ContactApi = (function (_super) {
|
|
|
132
132
|
};
|
|
133
133
|
ContactApi.prototype.bulkCreateContacts = function (data) {
|
|
134
134
|
return __awaiter(this, void 0, void 0, function () {
|
|
135
|
-
var contacts, rest, contactsMaxSize, contactsChunks
|
|
135
|
+
var contacts, rest, contactsMaxSize, contactsChunks;
|
|
136
136
|
return __generator(this, function (_a) {
|
|
137
137
|
contacts = data.contacts, rest = __rest(data, ["contacts"]);
|
|
138
138
|
contactsMaxSize = constants_1.REQUEST_PAYLOAD_MAX_BYTES - (0, utils_1.getObjectSizeInBytes)(__assign({}, rest));
|
|
139
139
|
contactsChunks = (0, utils_1.chunkArrByMaxSize)(contacts, contactsMaxSize);
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
results = contactsChunks.length === 1
|
|
144
|
-
? this.createContactsInSingleBatch(data)
|
|
145
|
-
: this.createContactsInMultiBatches(contactsChunks, rest);
|
|
146
|
-
end = performance.now();
|
|
147
|
-
console.log('bulk time = ', end - start);
|
|
148
|
-
return [2, results];
|
|
140
|
+
return [2, contactsChunks.length === 1
|
|
141
|
+
? this.createContactsInSingleBatch(data)
|
|
142
|
+
: this.createContactsInMultiBatches(contactsChunks, rest)];
|
|
149
143
|
});
|
|
150
144
|
});
|
|
151
145
|
};
|
|
@@ -226,33 +220,23 @@ var ContactApi = (function (_super) {
|
|
|
226
220
|
};
|
|
227
221
|
ContactApi.prototype.createContactsInSingleBatch = function (data) {
|
|
228
222
|
return __awaiter(this, void 0, void 0, function () {
|
|
229
|
-
var
|
|
223
|
+
var batchProcess, batchProcessResult, contactIds, importedContacts;
|
|
230
224
|
return __generator(this, function (_a) {
|
|
231
225
|
switch (_a.label) {
|
|
232
|
-
case 0:
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
data: data,
|
|
238
|
-
})];
|
|
226
|
+
case 0: return [4, this.apiCall({
|
|
227
|
+
method: 'POST',
|
|
228
|
+
route: "".concat(this.apiBasePath, "/bulk"),
|
|
229
|
+
data: data,
|
|
230
|
+
})];
|
|
239
231
|
case 1:
|
|
240
232
|
batchProcess = _a.sent();
|
|
241
|
-
be = performance.now();
|
|
242
|
-
console.log('batch create time = ', be - bs);
|
|
243
|
-
ps = performance.now();
|
|
244
233
|
return [4, this.polling(batchProcess.id)];
|
|
245
234
|
case 2:
|
|
246
235
|
batchProcessResult = _a.sent();
|
|
247
|
-
pe = performance.now();
|
|
248
|
-
console.log('polling time = ', pe - ps);
|
|
249
236
|
contactIds = batchProcessResult.results.flatMap(function (i) { return JSON.parse(i); });
|
|
250
|
-
gs = performance.now();
|
|
251
237
|
return [4, this.getSafelyContactsList(contactIds, data.contact_book)];
|
|
252
238
|
case 3:
|
|
253
239
|
importedContacts = _a.sent();
|
|
254
|
-
ge = performance.now();
|
|
255
|
-
console.log('get contacts time = ', ge - gs);
|
|
256
240
|
return [2, importedContacts.items];
|
|
257
241
|
}
|
|
258
242
|
});
|
|
@@ -260,7 +244,7 @@ var ContactApi = (function (_super) {
|
|
|
260
244
|
};
|
|
261
245
|
ContactApi.prototype.createContactsInMultiBatches = function (contactsChunks, data) {
|
|
262
246
|
return __awaiter(this, void 0, void 0, function () {
|
|
263
|
-
var batchPromises,
|
|
247
|
+
var batchPromises, results, _i, batchPromises_1, fn, singleBatchResults;
|
|
264
248
|
var _this = this;
|
|
265
249
|
return __generator(this, function (_a) {
|
|
266
250
|
switch (_a.label) {
|
|
@@ -270,20 +254,15 @@ var ContactApi = (function (_super) {
|
|
|
270
254
|
return [2, this.createContactsInSingleBatch(__assign({ contacts: chunkContacts }, data))];
|
|
271
255
|
});
|
|
272
256
|
}); }; });
|
|
273
|
-
idx = 1;
|
|
274
257
|
results = [];
|
|
275
258
|
_i = 0, batchPromises_1 = batchPromises;
|
|
276
259
|
_a.label = 1;
|
|
277
260
|
case 1:
|
|
278
261
|
if (!(_i < batchPromises_1.length)) return [3, 4];
|
|
279
262
|
fn = batchPromises_1[_i];
|
|
280
|
-
start = performance.now();
|
|
281
263
|
return [4, fn()];
|
|
282
264
|
case 2:
|
|
283
265
|
singleBatchResults = _a.sent();
|
|
284
|
-
end = performance.now();
|
|
285
|
-
console.log('chunk idx = ', idx, 'time = ', end - start);
|
|
286
|
-
idx += 1;
|
|
287
266
|
results.push.apply(results, singleBatchResults);
|
|
288
267
|
_a.label = 3;
|
|
289
268
|
case 3:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,qCAAoC;AAGpC,kCAAoF;AACpF,0CAA6G;AAE7G;IAAwC,8BAAO;IAC7C,oBACqB,OAAgD,EAC3D,eAAgC;QAF1C,YAIE,kBAAM,OAAO,CAAC,SACf;QAJoB,aAAO,GAAP,OAAO,CAAyC;QAC3D,qBAAe,GAAf,eAAe,CAAiB;QAKzB,iBAAW,GAAG,SAAS,CAAC;;IAFzC,CAAC;IASD,+BAAU,GAAV,UAAW,EAAU,EAAE,MAAwB;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,CAAE;YAClC,MAAM,QAAA;SACP,CAAC,CAAC;IACL,CAAC;IAMD,gCAAW,GAAX,UAAY,MAA2B;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,UAAO;YACjC,IAAI,eACC,IAAA,uBAAe,EAAC,MAAM,CAAC,CAC3B;SACF,CAAC,CAAC;IACL,CAAC;IAOD,kCAAa,GAAb,UAAc,EAAU,EAAE,IAAsB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,CAAE;YAClC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAOD,kCAAa,GAAb,UAAc,EAAU,EAAE,IAA4B;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,CAAE;YAClC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAOD,gCAAW,GAAX,UAAY,IAAiC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,sCAA0B,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;YACzF,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,CAAE;YAC5B,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAMD,kCAAa,GAAb,UAAc,IAAsB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,CAAE;YAC5B,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAMK,uCAAkB,GAAxB,UAAyB,IAA+B;;;;gBAC9C,QAAQ,GAAc,IAAI,SAAlB,EAAK,IAAI,UAAK,IAAI,EAA5B,YAAqB,CAAF,CAAU;gBAC7B,eAAe,GAAG,qCAAyB,GAAG,IAAA,4BAAoB,eAAM,IAAI,EAAG,CAAC;gBAChF,cAAc,GAAG,IAAA,yBAAiB,EAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAEpE,WAAO,cAAc,CAAC,MAAM,KAAK,CAAC;wBAChC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;wBACxC,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,cAAc,EAAE,IAAI,CAAC,EAAC;;;KAC7D;IAOD,kCAAa,GAAb,UAAc,EAAU,EAAE,IAA2B;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,WAAQ;YACxC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAOD,gCAAW,GAAX,UAAY,EAAU,EAAE,IAA0B;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,UAAO;YACvC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAMD,sCAAiB,GAAjB,UAAkB,IAA+B;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,UAAO;YACjC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAOD,kCAAa,GAAb,UAAc,EAAU,EAAE,IAA4B;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,cAAI,EAAE,UAAO;YACvC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAMD,wCAAmB,GAAnB,UAAoB,IAAiC;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,UAAO;YACjC,IAAI,MAAA;SACL,CAAC,CAAC;IACL,CAAC;IAEa,0CAAqB,GAAnC,UACE,UAAoB,EACpB,MAA0B,EAC1B,OAAgB;;;;;;4BAEC,WAAM,IAAI,CAAC,WAAW,YACrC,UAAU,YAAA,IACP,CAAC,MAAM,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EACvC,CAAC,KAAK,CAAC,UAAC,CAAC;4BACT,OAAO,GAAG,OAAO,IAAI,CAAC,CAAC;4BACvB,IAAI,OAAO,GAAG,kCAAsB,EAAE;gCACpC,OAAO,KAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;6BACpE;4BACD,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;wBACrB,CAAC,CAAC,EAAA;;wBATI,QAAQ,GAAG,SASf;wBACF,WAAO,QAAQ,EAAC;;;;KACjB;IAEa,uCAAkB,GAAhC,UAAiC,IAAiC;;;;;4BAC3C,WAAM,IAAI,CAAC,OAAO,CAA0B;4BAC/D,MAAM,EAAE,QAAQ;4BAChB,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,UAAO;4BACjC,IAAI,MAAA;yBACL,CAAC,EAAA;;wBAJI,YAAY,GAAG,SAInB;wBACF,WAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAA;;wBAAnC,SAAmC,CAAC;;;;;KACrC;IAEa,gDAA2B,GAAzC,UAA0C,IAA+B;;;;;4BAClD,WAAM,IAAI,CAAC,OAAO,CAA0B;4BAC/D,MAAM,EAAE,MAAM;4BACd,KAAK,EAAE,UAAG,IAAI,CAAC,WAAW,UAAO;4BACjC,IAAI,MAAA;yBACL,CAAC,EAAA;;wBAJI,YAAY,GAAG,SAInB;wBACyB,WAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAA;;wBAAxD,kBAAkB,GAAG,SAAmC;wBACxD,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAS,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAb,CAAa,CAAC,CAAC;wBACzD,WAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,EAAA;;wBAAlF,gBAAgB,GAAG,SAA+D;wBACxF,WAAO,gBAAgB,CAAC,KAAK,EAAC;;;;KAC/B;IAEa,iDAA4B,GAA1C,UACE,cAAqC,EACrC,IAAiD;;;;;;;wBAE3C,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,UAAC,aAAa,IAAK,OAAA;;gCAAY,WAAA,IAAI,CAAC,2BAA2B,YACtG,QAAQ,EAAE,aAAa,IACpB,IAAI,EACP,EAAA;;6BAAA,EAH0D,CAG1D,CAAC,CAAC;wBAEE,OAAO,GAAyB,EAAE,CAAC;8BACX,EAAb,+BAAa;;;6BAAb,CAAA,2BAAa,CAAA;wBAAnB,EAAE;wBACgB,WAAM,EAAE,EAAE,EAAA;;wBAA/B,kBAAkB,GAAG,SAAU;wBACrC,OAAO,CAAC,IAAI,OAAZ,OAAO,EAAS,kBAAkB,EAAE;;;wBAFrB,IAAa,CAAA;;4BAI9B,WAAO,OAAO,EAAC;;;;KAChB;IAKa,4BAAO,GAArB,UAAsB,OAAe,EAAE,OAAgB;;;;;;4BAC3B,WAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAC,CAAC;4BACpF,OAAO,GAAG,OAAO,IAAI,CAAC,CAAC;4BACvB,IAAI,OAAO,GAAG,kCAAsB,EAAE;gCACpC,OAAO,KAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;6BAC3C;4BACD,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;wBACrB,CAAC,CAAC,EAAA;;wBANI,iBAAiB,GAAG,SAMxB;wBAEF,WAAO,iBAAiB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAC;;;;KAC3F;IACH,iBAAC;AAAD,CAAC,AA9OD,CAAwC,iBAAO,GA8O9C"}
|
|
@@ -14,8 +14,51 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (_) try {
|
|
33
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
17
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
var lodash_1 = require("lodash");
|
|
18
55
|
var baseApi_1 = require("./baseApi");
|
|
56
|
+
var MigrationState;
|
|
57
|
+
(function (MigrationState) {
|
|
58
|
+
MigrationState["InProgress"] = "InProgress";
|
|
59
|
+
MigrationState["ToDo"] = "ToDo";
|
|
60
|
+
MigrationState["Done"] = "Done";
|
|
61
|
+
})(MigrationState || (MigrationState = {}));
|
|
19
62
|
var MigrationsApi = (function (_super) {
|
|
20
63
|
__extends(MigrationsApi, _super);
|
|
21
64
|
function MigrationsApi() {
|
|
@@ -27,12 +70,63 @@ var MigrationsApi = (function (_super) {
|
|
|
27
70
|
route: 'migrations/status',
|
|
28
71
|
});
|
|
29
72
|
};
|
|
73
|
+
MigrationsApi.prototype.getMigrationState = function () {
|
|
74
|
+
return this.apiCall({
|
|
75
|
+
method: 'GET',
|
|
76
|
+
route: 'migrations/v2/status',
|
|
77
|
+
});
|
|
78
|
+
};
|
|
30
79
|
MigrationsApi.prototype.migrationsRun = function () {
|
|
31
80
|
return this.apiCall({
|
|
32
81
|
method: 'GET',
|
|
33
82
|
route: 'migrations/run',
|
|
34
83
|
});
|
|
35
84
|
};
|
|
85
|
+
MigrationsApi.prototype.pollMigrationDone = function (timeoutMs, timeoutCb) {
|
|
86
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
87
|
+
var migrationTimeout, poll;
|
|
88
|
+
var _this = this;
|
|
89
|
+
return __generator(this, function (_a) {
|
|
90
|
+
this.migrationsRun();
|
|
91
|
+
migrationTimeout = (function () {
|
|
92
|
+
var defaultTimeout = 1000 * 60 * 30;
|
|
93
|
+
if (timeoutMs !== undefined && timeoutMs > defaultTimeout) {
|
|
94
|
+
throw new Error('Migration timeout cont not be greater of 30m');
|
|
95
|
+
}
|
|
96
|
+
return timeoutMs !== undefined ? timeoutMs : 1000 * 60 * 30;
|
|
97
|
+
})();
|
|
98
|
+
poll = function (passedTime) { return __awaiter(_this, void 0, void 0, function () {
|
|
99
|
+
var start, state, end_1, debouncedPoll;
|
|
100
|
+
var _this = this;
|
|
101
|
+
return __generator(this, function (_a) {
|
|
102
|
+
switch (_a.label) {
|
|
103
|
+
case 0:
|
|
104
|
+
if ((passedTime || 0) > migrationTimeout) {
|
|
105
|
+
timeoutCb && timeoutCb();
|
|
106
|
+
return [2, false];
|
|
107
|
+
}
|
|
108
|
+
start = performance.now();
|
|
109
|
+
return [4, this.getMigrationState()];
|
|
110
|
+
case 1:
|
|
111
|
+
state = _a.sent();
|
|
112
|
+
if (state === MigrationState.Done) {
|
|
113
|
+
return [2, true];
|
|
114
|
+
}
|
|
115
|
+
if (state === MigrationState.InProgress || state === MigrationState.ToDo) {
|
|
116
|
+
end_1 = performance.now();
|
|
117
|
+
debouncedPoll = (0, lodash_1.debounce)(function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
118
|
+
return [2, poll(passedTime !== undefined ? passedTime : 0 + end_1 - start)];
|
|
119
|
+
}); }); }, 1000);
|
|
120
|
+
return [2, !!debouncedPoll()];
|
|
121
|
+
}
|
|
122
|
+
return [2, true];
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}); };
|
|
126
|
+
return [2, poll()];
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
};
|
|
36
130
|
return MigrationsApi;
|
|
37
131
|
}(baseApi_1.BaseApi));
|
|
38
132
|
exports.default = MigrationsApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrationsApi.js","sourceRoot":"","sources":["../../../src/api/migrationsApi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrationsApi.js","sourceRoot":"","sources":["../../../src/api/migrationsApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAkC;AAClC,qCAAoC;AAEpC,IAAK,cAIJ;AAJD,WAAK,cAAc;IACjB,2CAAyB,CAAA;IACzB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACf,CAAC,EAJI,cAAc,KAAd,cAAc,QAIlB;AAED;IAA2C,iCAAO;IAAlD;;IAiEA,CAAC;IA3DC,wCAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,mBAAmB;SAC3B,CAAC,CAAC;IACL,CAAC;IAID,yCAAiB,GAAjB;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,sBAAsB;SAC9B,CAAC,CAAC;IACL,CAAC;IAKD,qCAAa,GAAb;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,gBAAgB;SACxB,CAAC,CAAC;IACL,CAAC;IAEK,yCAAiB,GAAvB,UAAwB,SAAkB,EAAE,SAAsB;;;;;gBAChE,IAAI,CAAC,aAAa,EAAE,CAAC;gBAEf,gBAAgB,GAAG,CAAC;oBACxB,IAAM,cAAc,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;oBACtC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,cAAc,EAAE;wBACzD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;qBACjE;oBACD,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC9D,CAAC,CAAC,EAAE,CAAC;gBAEC,IAAI,GAAG,UAAO,UAAmB;;;;;;gCACrC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,gBAAgB,EAAE;oCACxC,SAAS,IAAI,SAAS,EAAE,CAAC;oCACzB,WAAO,KAAK,EAAC;iCACd;gCAEK,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gCAClB,WAAM,IAAI,CAAC,iBAAiB,EAAE,EAAA;;gCAAtC,KAAK,GAAG,SAA8B;gCAC5C,IAAI,KAAK,KAAK,cAAc,CAAC,IAAI,EAAE;oCACjC,WAAO,IAAI,EAAC;iCACb;gCAED,IAAI,KAAK,KAAK,cAAc,CAAC,UAAU,IAAI,KAAK,KAAK,cAAc,CAAC,IAAI,EAAE;oCAClE,QAAM,WAAW,CAAC,GAAG,EAAE,CAAC;oCACxB,aAAa,GAAG,IAAA,iBAAQ,EAAC;wCAAY,WAAA,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,KAAG,GAAG,KAAK,CAAC,EAAA;6CAAA,EAAE,IAAI,CAAC,CAAC;oCAChH,WAAO,CAAC,CAAC,aAAa,EAAE,EAAC;iCAC1B;gCACD,WAAO,IAAI,EAAC;;;qBACb,CAAC;gBAEF,WAAO,IAAI,EAAE,EAAC;;;KACf;IACH,oBAAC;AAAD,CAAC,AAjED,CAA2C,iBAAO,GAiEjD"}
|
package/dist/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAU,CAAC;AAG/E,IAAM,eAAe,GAAG,UAC7B,MAAS;IAET,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAa,UAAC,GAAG,EAAE,CAAC;QAC9D,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAoC,CAAC,KAAK,CAAC,CAAC,EAAE;YACxE,GAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAgB,CAAC,CAAC;IAErB,+CACK,SAAS,GACT,CACD,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC;QAC/C,EAAE,KAAK,EAAE,UAAG,MAAM,CAAC,aAAa,cAAI,MAAM,CAAC,cAAc,CAAE,EAAE,CAC9D,GACE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,GACtC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EACzC;AACJ,CAAC,CAAC;AAnBW,QAAA,eAAe,mBAmB1B;AAEK,IAAM,oBAAoB,GAAG,UAAI,GAAM,IAAa,OAAA,MAAM;KAC9D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7C,MAAM,EAFkD,CAElD,CAAC;AAFG,QAAA,oBAAoB,wBAEvB;AAEH,IAAM,iBAAiB,GAAG,UAAI,GAAQ,EAAE,OAAe;IAC5D,IAAM,IAAI,GAAG,IAAA,4BAAoB,EAAC,GAAG,CAAC,CAAC;IAEvC,IAAI,IAAI,GAAG,OAAO,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,CAAC;KACd;SAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IACD,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,uCACK,IAAA,yBAAiB,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,SAC7C,IAAA,yBAAiB,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,QAC7C;AACJ,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B"}
|
|
@@ -78,15 +78,9 @@ export default class ContactApi extends BaseApi {
|
|
|
78
78
|
const { contacts } = data, rest = __rest(data, ["contacts"]);
|
|
79
79
|
const contactsMaxSize = REQUEST_PAYLOAD_MAX_BYTES - getObjectSizeInBytes(Object.assign({}, rest));
|
|
80
80
|
const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
|
|
81
|
-
|
|
82
|
-
console.log('contacts chunks = ', contactsChunks.length);
|
|
83
|
-
const start = performance.now();
|
|
84
|
-
const results = contactsChunks.length === 1
|
|
81
|
+
return contactsChunks.length === 1
|
|
85
82
|
? this.createContactsInSingleBatch(data)
|
|
86
83
|
: this.createContactsInMultiBatches(contactsChunks, rest);
|
|
87
|
-
const end = performance.now();
|
|
88
|
-
console.log('bulk time = ', end - start);
|
|
89
|
-
return results;
|
|
90
84
|
});
|
|
91
85
|
}
|
|
92
86
|
mergeContacts(id, data) {
|
|
@@ -148,23 +142,14 @@ export default class ContactApi extends BaseApi {
|
|
|
148
142
|
}
|
|
149
143
|
createContactsInSingleBatch(data) {
|
|
150
144
|
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
-
const bs = performance.now();
|
|
152
145
|
const batchProcess = yield this.apiCall({
|
|
153
146
|
method: 'POST',
|
|
154
147
|
route: `${this.apiBasePath}/bulk`,
|
|
155
148
|
data,
|
|
156
149
|
});
|
|
157
|
-
const be = performance.now();
|
|
158
|
-
console.log('batch create time = ', be - bs);
|
|
159
|
-
const ps = performance.now();
|
|
160
150
|
const batchProcessResult = yield this.polling(batchProcess.id);
|
|
161
|
-
const pe = performance.now();
|
|
162
|
-
console.log('polling time = ', pe - ps);
|
|
163
151
|
const contactIds = batchProcessResult.results.flatMap(i => JSON.parse(i));
|
|
164
|
-
const gs = performance.now();
|
|
165
152
|
const importedContacts = yield this.getSafelyContactsList(contactIds, data.contact_book);
|
|
166
|
-
const ge = performance.now();
|
|
167
|
-
console.log('get contacts time = ', ge - gs);
|
|
168
153
|
return importedContacts.items;
|
|
169
154
|
});
|
|
170
155
|
}
|
|
@@ -173,14 +158,9 @@ export default class ContactApi extends BaseApi {
|
|
|
173
158
|
const batchPromises = contactsChunks.map((chunkContacts) => () => __awaiter(this, void 0, void 0, function* () {
|
|
174
159
|
return this.createContactsInSingleBatch(Object.assign({ contacts: chunkContacts }, data));
|
|
175
160
|
}));
|
|
176
|
-
let idx = 1;
|
|
177
161
|
const results = [];
|
|
178
162
|
for (const fn of batchPromises) {
|
|
179
|
-
const start = performance.now();
|
|
180
163
|
const singleBatchResults = yield fn();
|
|
181
|
-
const end = performance.now();
|
|
182
|
-
console.log('chunk idx = ', idx, 'time = ', end - start);
|
|
183
|
-
idx += 1;
|
|
184
164
|
results.push(...singleBatchResults);
|
|
185
165
|
}
|
|
186
166
|
return results;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { debounce } from 'lodash';
|
|
1
11
|
import { BaseApi } from './baseApi';
|
|
12
|
+
var MigrationState;
|
|
13
|
+
(function (MigrationState) {
|
|
14
|
+
MigrationState["InProgress"] = "InProgress";
|
|
15
|
+
MigrationState["ToDo"] = "ToDo";
|
|
16
|
+
MigrationState["Done"] = "Done";
|
|
17
|
+
})(MigrationState || (MigrationState = {}));
|
|
2
18
|
export default class MigrationsApi extends BaseApi {
|
|
3
19
|
migrationsStatus() {
|
|
4
20
|
return this.apiCall({
|
|
@@ -6,11 +22,47 @@ export default class MigrationsApi extends BaseApi {
|
|
|
6
22
|
route: 'migrations/status',
|
|
7
23
|
});
|
|
8
24
|
}
|
|
25
|
+
getMigrationState() {
|
|
26
|
+
return this.apiCall({
|
|
27
|
+
method: 'GET',
|
|
28
|
+
route: 'migrations/v2/status',
|
|
29
|
+
});
|
|
30
|
+
}
|
|
9
31
|
migrationsRun() {
|
|
10
32
|
return this.apiCall({
|
|
11
33
|
method: 'GET',
|
|
12
34
|
route: 'migrations/run',
|
|
13
35
|
});
|
|
14
36
|
}
|
|
37
|
+
pollMigrationDone(timeoutMs, timeoutCb) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
this.migrationsRun();
|
|
40
|
+
const migrationTimeout = (() => {
|
|
41
|
+
const defaultTimeout = 1000 * 60 * 30;
|
|
42
|
+
if (timeoutMs !== undefined && timeoutMs > defaultTimeout) {
|
|
43
|
+
throw new Error('Migration timeout cont not be greater of 30m');
|
|
44
|
+
}
|
|
45
|
+
return timeoutMs !== undefined ? timeoutMs : 1000 * 60 * 30;
|
|
46
|
+
})();
|
|
47
|
+
const poll = (passedTime) => __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
if ((passedTime || 0) > migrationTimeout) {
|
|
49
|
+
timeoutCb && timeoutCb();
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
const start = performance.now();
|
|
53
|
+
const state = yield this.getMigrationState();
|
|
54
|
+
if (state === MigrationState.Done) {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
if (state === MigrationState.InProgress || state === MigrationState.ToDo) {
|
|
58
|
+
const end = performance.now();
|
|
59
|
+
const debouncedPoll = debounce(() => __awaiter(this, void 0, void 0, function* () { return poll(passedTime !== undefined ? passedTime : 0 + end - start); }), 1000);
|
|
60
|
+
return !!debouncedPoll();
|
|
61
|
+
}
|
|
62
|
+
return true;
|
|
63
|
+
});
|
|
64
|
+
return poll();
|
|
65
|
+
});
|
|
66
|
+
}
|
|
15
67
|
}
|
|
16
68
|
//# sourceMappingURL=migrationsApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrationsApi.js","sourceRoot":"","sources":["../../../src/api/migrationsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;
|
|
1
|
+
{"version":3,"file":"migrationsApi.js","sourceRoot":"","sources":["../../../src/api/migrationsApi.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,IAAK,cAIJ;AAJD,WAAK,cAAc;IACjB,2CAAyB,CAAA;IACzB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACf,CAAC,EAJI,cAAc,KAAd,cAAc,QAIlB;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAMhD,gBAAgB;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,mBAAmB;SAC3B,CAAC,CAAC;IACL,CAAC;IAID,iBAAiB;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,sBAAsB;SAC9B,CAAC,CAAC;IACL,CAAC;IAKD,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,gBAAgB;SACxB,CAAC,CAAC;IACL,CAAC;IAEK,iBAAiB,CAAC,SAAkB,EAAE,SAAsB;;YAChE,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;gBAC7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;gBACtC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,cAAc,EAAE;oBACzD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;iBACjE;gBACD,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;YAC9D,CAAC,CAAC,EAAE,CAAC;YAEL,MAAM,IAAI,GAAG,CAAO,UAAmB,EAAoB,EAAE;gBAC3D,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,gBAAgB,EAAE;oBACxC,SAAS,IAAI,SAAS,EAAE,CAAC;oBACzB,OAAO,KAAK,CAAC;iBACd;gBAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC7C,IAAI,KAAK,KAAK,cAAc,CAAC,IAAI,EAAE;oBACjC,OAAO,IAAI,CAAC;iBACb;gBAED,IAAI,KAAK,KAAK,cAAc,CAAC,UAAU,IAAI,KAAK,KAAK,cAAc,CAAC,IAAI,EAAE;oBACxE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBAC9B,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAS,EAAE,gDAAC,OAAA,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAA,GAAA,EAAE,IAAI,CAAC,CAAC;oBAChH,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;iBAC1B;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAA,CAAC;YAEF,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;KAAA;CACF"}
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAGA,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAGA,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAU,CAAC;AAGtF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAS,EAC0C,EAAE;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAa,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAClE,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAoC,CAAC,KAAK,CAAC,CAAC,EAAE;YACxE,GAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAgB,CAAC,CAAC;IAErB,mEACK,SAAS,GACT,CACD,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC;QAC/C,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,CAC9D,GACE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,GACtC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EACzC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAI,GAAM,EAAU,EAAE,CAAC,MAAM;KAC9D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7C,MAAM,CAAC;AAEV,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,GAAQ,EAAE,OAAe,EAAS,EAAE;IACvE,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAEvC,IAAI,IAAI,GAAG,OAAO,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,CAAC;KACd;SAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,OAAO;QACL,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC;QAChD,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;KAC9C,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactApi.d.ts","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contactApi.d.ts","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAEhB,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAI/C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAE3C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,eAAe;gBADJ,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3D,eAAe,EAAE,eAAe;IAK1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IAOzC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAY7E,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAe3E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAa9E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAatE,WAAW,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7D,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAY5D,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAexF,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAanF,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,iBAAiB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtE,mBAAmB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;YAQvD,qBAAqB;YAkBrB,kBAAkB;YASlB,2BAA2B;YAY3B,4BAA4B;YAoB5B,OAAO;CAWtB"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { BaseApi } from './baseApi';
|
|
2
|
+
declare enum MigrationState {
|
|
3
|
+
InProgress = "InProgress",
|
|
4
|
+
ToDo = "ToDo",
|
|
5
|
+
Done = "Done"
|
|
6
|
+
}
|
|
2
7
|
export default class MigrationsApi extends BaseApi {
|
|
3
8
|
migrationsStatus(): Promise<boolean>;
|
|
9
|
+
getMigrationState(): Promise<MigrationState>;
|
|
4
10
|
migrationsRun(): Promise<void>;
|
|
11
|
+
pollMigrationDone(timeoutMs?: number, timeoutCb?: () => void): Promise<boolean>;
|
|
5
12
|
}
|
|
13
|
+
export {};
|
|
6
14
|
//# sourceMappingURL=migrationsApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrationsApi.d.ts","sourceRoot":"","sources":["../../../src/api/migrationsApi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrationsApi.d.ts","sourceRoot":"","sources":["../../../src/api/migrationsApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,aAAK,cAAc;IACjB,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAMhD,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IASpC,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAU5C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;CAiCtF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,QAAA,MAAM,gBAAgB,8DAA+D,CAAC;AACtF,aAAK,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,QAAA,MAAM,gBAAgB,8DAA+D,CAAC;AACtF,aAAK,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAE3D,eAAO,MAAM,eAAe;;;mEAmB3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,iBAAgB,MAExC,CAAC;AAEV,eAAO,MAAM,iBAAiB,yBAA0B,MAAM,UAa7D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.1.1-beta.
|
|
2
|
+
"version": "3.1.1-beta.1612.0",
|
|
3
3
|
"name": "@or-sdk/contacts",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@onereach/types-contacts-api": "3.0
|
|
27
|
+
"@onereach/types-contacts-api": "3.1.3-beta.1997.0",
|
|
28
28
|
"@or-sdk/base": "^0.28.3"
|
|
29
29
|
}
|
|
30
30
|
}
|
package/src/api/contactApi.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable no-console */
|
|
2
1
|
import {
|
|
3
2
|
BatchProcessResponseDto,
|
|
4
3
|
ContactParamsDto,
|
|
@@ -121,16 +120,10 @@ export default class ContactApi extends BaseApi {
|
|
|
121
120
|
const { contacts, ...rest } = data;
|
|
122
121
|
const contactsMaxSize = REQUEST_PAYLOAD_MAX_BYTES - getObjectSizeInBytes({ ...rest });
|
|
123
122
|
const contactsChunks = chunkArrByMaxSize(contacts, contactsMaxSize);
|
|
124
|
-
console.log('contacts amount = ', contacts.length);
|
|
125
|
-
console.log('contacts chunks = ', contactsChunks.length);
|
|
126
123
|
|
|
127
|
-
|
|
128
|
-
const results = contactsChunks.length === 1
|
|
124
|
+
return contactsChunks.length === 1
|
|
129
125
|
? this.createContactsInSingleBatch(data)
|
|
130
126
|
: this.createContactsInMultiBatches(contactsChunks, rest);
|
|
131
|
-
const end = performance.now();
|
|
132
|
-
console.log('bulk time = ', end - start);
|
|
133
|
-
return results;
|
|
134
127
|
}
|
|
135
128
|
|
|
136
129
|
/**
|
|
@@ -224,23 +217,14 @@ export default class ContactApi extends BaseApi {
|
|
|
224
217
|
}
|
|
225
218
|
|
|
226
219
|
private async createContactsInSingleBatch(data: CreateMultipleContactsDto): Promise<ContactResponseDto[]> {
|
|
227
|
-
const bs = performance.now();
|
|
228
220
|
const batchProcess = await this.apiCall<BatchProcessResponseDto>({
|
|
229
221
|
method: 'POST',
|
|
230
222
|
route: `${this.apiBasePath}/bulk`,
|
|
231
223
|
data,
|
|
232
224
|
});
|
|
233
|
-
const be = performance.now();
|
|
234
|
-
console.log('batch create time = ', be - bs);
|
|
235
|
-
const ps = performance.now();
|
|
236
225
|
const batchProcessResult = await this.polling(batchProcess.id);
|
|
237
|
-
const pe = performance.now();
|
|
238
|
-
console.log('polling time = ', pe - ps);
|
|
239
226
|
const contactIds = batchProcessResult.results.flatMap<string>(i => JSON.parse(i));
|
|
240
|
-
const gs = performance.now();
|
|
241
227
|
const importedContacts = await this.getSafelyContactsList(contactIds, data.contact_book);
|
|
242
|
-
const ge = performance.now();
|
|
243
|
-
console.log('get contacts time = ', ge - gs);
|
|
244
228
|
return importedContacts.items;
|
|
245
229
|
}
|
|
246
230
|
|
|
@@ -253,15 +237,9 @@ export default class ContactApi extends BaseApi {
|
|
|
253
237
|
...data,
|
|
254
238
|
}));
|
|
255
239
|
|
|
256
|
-
let idx = 1;
|
|
257
|
-
|
|
258
240
|
const results: ContactResponseDto[] = [];
|
|
259
241
|
for (const fn of batchPromises) {
|
|
260
|
-
const start = performance.now();
|
|
261
242
|
const singleBatchResults = await fn();
|
|
262
|
-
const end = performance.now();
|
|
263
|
-
console.log('chunk idx = ', idx, 'time = ', end - start);
|
|
264
|
-
idx += 1;
|
|
265
243
|
results.push(...singleBatchResults);
|
|
266
244
|
}
|
|
267
245
|
return results;
|
package/src/api/migrationsApi.ts
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
|
+
import { debounce } from 'lodash';
|
|
1
2
|
import { BaseApi } from './baseApi';
|
|
2
3
|
|
|
4
|
+
enum MigrationState {
|
|
5
|
+
InProgress = 'InProgress',
|
|
6
|
+
ToDo = 'ToDo',
|
|
7
|
+
Done = 'Done',
|
|
8
|
+
}
|
|
9
|
+
|
|
3
10
|
export default class MigrationsApi extends BaseApi {
|
|
4
11
|
/**
|
|
5
12
|
* Migrations status.
|
|
13
|
+
* @deprecated
|
|
6
14
|
* @description Returns true if there are pending migrations
|
|
7
15
|
*/
|
|
8
16
|
migrationsStatus(): Promise<boolean> {
|
|
@@ -12,6 +20,15 @@ export default class MigrationsApi extends BaseApi {
|
|
|
12
20
|
});
|
|
13
21
|
}
|
|
14
22
|
|
|
23
|
+
/**
|
|
24
|
+
*/
|
|
25
|
+
getMigrationState(): Promise<MigrationState> {
|
|
26
|
+
return this.apiCall({
|
|
27
|
+
method: 'GET',
|
|
28
|
+
route: 'migrations/v2/status',
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
15
32
|
/**
|
|
16
33
|
* @description Run all pending migrations
|
|
17
34
|
*/
|
|
@@ -21,4 +38,38 @@ export default class MigrationsApi extends BaseApi {
|
|
|
21
38
|
route: 'migrations/run',
|
|
22
39
|
});
|
|
23
40
|
}
|
|
41
|
+
|
|
42
|
+
async pollMigrationDone(timeoutMs?: number, timeoutCb?: () => void): Promise<boolean> {
|
|
43
|
+
this.migrationsRun();
|
|
44
|
+
|
|
45
|
+
const migrationTimeout = (() => {
|
|
46
|
+
const defaultTimeout = 1000 * 60 * 30;
|
|
47
|
+
if (timeoutMs !== undefined && timeoutMs > defaultTimeout) {
|
|
48
|
+
throw new Error('Migration timeout cont not be greater of 30m');
|
|
49
|
+
}
|
|
50
|
+
return timeoutMs !== undefined ? timeoutMs : 1000 * 60 * 30;
|
|
51
|
+
})();
|
|
52
|
+
|
|
53
|
+
const poll = async (passedTime?: number): Promise<boolean> => {
|
|
54
|
+
if ((passedTime || 0) > migrationTimeout) {
|
|
55
|
+
timeoutCb && timeoutCb();
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const start = performance.now();
|
|
60
|
+
const state = await this.getMigrationState();
|
|
61
|
+
if (state === MigrationState.Done) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (state === MigrationState.InProgress || state === MigrationState.ToDo) {
|
|
66
|
+
const end = performance.now();
|
|
67
|
+
const debouncedPoll = debounce(async () => poll(passedTime !== undefined ? passedTime : 0 + end - start), 1000);
|
|
68
|
+
return !!debouncedPoll();
|
|
69
|
+
}
|
|
70
|
+
return true;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
return poll();
|
|
74
|
+
}
|
|
24
75
|
}
|
package/src/utils.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { AdaptedListParams } from './types';
|
|
|
4
4
|
const propertyToEscape = ['from', 'size', 'orderProperty', 'orderDirection'] as const;
|
|
5
5
|
type Omitted<T> = Omit<T, typeof propertyToEscape[number]>;
|
|
6
6
|
|
|
7
|
-
|
|
8
7
|
export const adaptListParams = <T extends AdaptedListParams<{[key: string|number]: any;}>>(
|
|
9
8
|
params: T
|
|
10
9
|
): Omitted<T> & Partial<ListApiParams & OrderParams> => {
|