@or-sdk/contacts 3.0.14-beta.1500.0 → 3.0.14-beta.1557.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 +47 -21
- package/dist/cjs/api/contactApi.js.map +1 -1
- package/dist/cjs/constants.js +2 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/esm/api/contactApi.js +29 -13
- package/dist/esm/api/contactApi.js.map +1 -1
- package/dist/esm/constants.js +1 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/types/api/contactApi.d.ts +3 -1
- package/dist/types/api/contactApi.d.ts.map +1 -1
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/api/contactApi.ts +34 -18
- package/src/constants.ts +2 -0
|
@@ -113,7 +113,11 @@ var ContactApi = (function (_super) {
|
|
|
113
113
|
data: data,
|
|
114
114
|
});
|
|
115
115
|
};
|
|
116
|
-
ContactApi.prototype.deleteMulti = function (data) {
|
|
116
|
+
ContactApi.prototype.deleteMulti = function (data, total) {
|
|
117
|
+
if ((Array.isArray(data.ids) && data.ids.length > constants_1.CONTACTS_DELETE_MAX_AMOUNT)
|
|
118
|
+
|| (total && total > constants_1.CONTACTS_DELETE_MAX_AMOUNT)) {
|
|
119
|
+
return this.bulkDeleteContacts(data);
|
|
120
|
+
}
|
|
117
121
|
return this.apiCall({
|
|
118
122
|
method: 'DELETE',
|
|
119
123
|
route: "".concat(this.apiBasePath),
|
|
@@ -195,10 +199,29 @@ var ContactApi = (function (_super) {
|
|
|
195
199
|
});
|
|
196
200
|
});
|
|
197
201
|
};
|
|
202
|
+
ContactApi.prototype.bulkDeleteContacts = function (data) {
|
|
203
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
204
|
+
var batchProcess;
|
|
205
|
+
return __generator(this, function (_a) {
|
|
206
|
+
switch (_a.label) {
|
|
207
|
+
case 0: return [4, this.apiCall({
|
|
208
|
+
method: 'DELETE',
|
|
209
|
+
route: "".concat(this.apiBasePath, "/bulk"),
|
|
210
|
+
data: data,
|
|
211
|
+
})];
|
|
212
|
+
case 1:
|
|
213
|
+
batchProcess = _a.sent();
|
|
214
|
+
return [4, this.polling(batchProcess.id)];
|
|
215
|
+
case 2:
|
|
216
|
+
_a.sent();
|
|
217
|
+
return [2];
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
};
|
|
198
222
|
ContactApi.prototype.createContactsInSingleBatch = function (data) {
|
|
199
223
|
return __awaiter(this, void 0, void 0, function () {
|
|
200
|
-
var batchProcess,
|
|
201
|
-
var _this = this;
|
|
224
|
+
var batchProcess, batchProcessResult, contactIds, importedContacts;
|
|
202
225
|
return __generator(this, function (_a) {
|
|
203
226
|
switch (_a.label) {
|
|
204
227
|
case 0: return [4, this.apiCall({
|
|
@@ -208,24 +231,7 @@ var ContactApi = (function (_super) {
|
|
|
208
231
|
})];
|
|
209
232
|
case 1:
|
|
210
233
|
batchProcess = _a.sent();
|
|
211
|
-
|
|
212
|
-
var batchProcessState;
|
|
213
|
-
return __generator(this, function (_a) {
|
|
214
|
-
switch (_a.label) {
|
|
215
|
-
case 0: return [4, this.batchProcessApi.getBatchProcess(batchId).catch(function (e) {
|
|
216
|
-
repeats = repeats || 0;
|
|
217
|
-
if (repeats < constants_1.FAILED_REQUEST_REPEATS) {
|
|
218
|
-
return polling(batchId, repeats + 1);
|
|
219
|
-
}
|
|
220
|
-
throw new Error(e);
|
|
221
|
-
})];
|
|
222
|
-
case 1:
|
|
223
|
-
batchProcessState = _a.sent();
|
|
224
|
-
return [2, batchProcessState.status === 'pending' ? polling(batchId) : batchProcessState];
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
|
-
}); };
|
|
228
|
-
return [4, polling(batchProcess.id)];
|
|
234
|
+
return [4, this.polling(batchProcess.id)];
|
|
229
235
|
case 2:
|
|
230
236
|
batchProcessResult = _a.sent();
|
|
231
237
|
contactIds = batchProcessResult.results.flatMap(function (i) { return JSON.parse(i); });
|
|
@@ -268,6 +274,26 @@ var ContactApi = (function (_super) {
|
|
|
268
274
|
});
|
|
269
275
|
});
|
|
270
276
|
};
|
|
277
|
+
ContactApi.prototype.polling = function (batchId, repeats) {
|
|
278
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
279
|
+
var batchProcessState;
|
|
280
|
+
var _this = this;
|
|
281
|
+
return __generator(this, function (_a) {
|
|
282
|
+
switch (_a.label) {
|
|
283
|
+
case 0: return [4, this.batchProcessApi.getBatchProcess(batchId).catch(function (e) {
|
|
284
|
+
repeats = repeats || 0;
|
|
285
|
+
if (repeats < constants_1.FAILED_REQUEST_REPEATS) {
|
|
286
|
+
return _this.polling(batchId, repeats + 1);
|
|
287
|
+
}
|
|
288
|
+
throw new Error(e);
|
|
289
|
+
})];
|
|
290
|
+
case 1:
|
|
291
|
+
batchProcessState = _a.sent();
|
|
292
|
+
return [2, batchProcessState.status === 'pending' ? this.polling(batchId) : batchProcessState];
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
});
|
|
296
|
+
};
|
|
271
297
|
return ContactApi;
|
|
272
298
|
}(baseApi_1.BaseApi));
|
|
273
299
|
exports.default = ContactApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,qCAAoC;AAGpC,kCAAoF;AACpF,
|
|
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;IAQD,gCAAW,GAAX,UAAY,IAAiC,EAAE,KAAc;QAC3D,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,sCAA0B,CAAC;eACtE,CAAC,KAAK,IAAI,KAAK,GAAG,sCAA0B,CAAC,EAChD;YACA,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,AAlPD,CAAwC,iBAAO,GAkP9C"}
|
package/dist/cjs/constants.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FAILED_REQUEST_REPEATS = exports.REQUEST_PAYLOAD_MAX_BYTES = exports.CONTACTS_SERVICE_KEY = void 0;
|
|
3
|
+
exports.CONTACTS_DELETE_MAX_AMOUNT = exports.FAILED_REQUEST_REPEATS = exports.REQUEST_PAYLOAD_MAX_BYTES = exports.CONTACTS_SERVICE_KEY = void 0;
|
|
4
4
|
exports.CONTACTS_SERVICE_KEY = 'contacts-api';
|
|
5
5
|
exports.REQUEST_PAYLOAD_MAX_BYTES = 128000;
|
|
6
6
|
exports.FAILED_REQUEST_REPEATS = 3;
|
|
7
|
+
exports.CONTACTS_DELETE_MAX_AMOUNT = 50;
|
|
7
8
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,cAAc,CAAC;AAEtC,QAAA,yBAAyB,GAAG,MAAM,CAAC;AAEnC,QAAA,sBAAsB,GAAG,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,cAAc,CAAC;AAEtC,QAAA,yBAAyB,GAAG,MAAM,CAAC;AAEnC,QAAA,sBAAsB,GAAG,CAAC,CAAC;AAE3B,QAAA,0BAA0B,GAAG,EAAE,CAAC"}
|
|
@@ -20,7 +20,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
20
20
|
};
|
|
21
21
|
import { BaseApi } from './baseApi';
|
|
22
22
|
import { adaptListParams, getObjectSizeInBytes, chunkArrByMaxSize } from '../utils';
|
|
23
|
-
import { REQUEST_PAYLOAD_MAX_BYTES, FAILED_REQUEST_REPEATS } from '../constants';
|
|
23
|
+
import { REQUEST_PAYLOAD_MAX_BYTES, FAILED_REQUEST_REPEATS, CONTACTS_DELETE_MAX_AMOUNT } from '../constants';
|
|
24
24
|
export default class ContactApi extends BaseApi {
|
|
25
25
|
constructor(apiCall, batchProcessApi) {
|
|
26
26
|
super(apiCall);
|
|
@@ -56,7 +56,11 @@ export default class ContactApi extends BaseApi {
|
|
|
56
56
|
data,
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
|
-
deleteMulti(data) {
|
|
59
|
+
deleteMulti(data, total) {
|
|
60
|
+
if ((Array.isArray(data.ids) && data.ids.length > CONTACTS_DELETE_MAX_AMOUNT)
|
|
61
|
+
|| (total && total > CONTACTS_DELETE_MAX_AMOUNT)) {
|
|
62
|
+
return this.bulkDeleteContacts(data);
|
|
63
|
+
}
|
|
60
64
|
return this.apiCall({
|
|
61
65
|
method: 'DELETE',
|
|
62
66
|
route: `${this.apiBasePath}`,
|
|
@@ -127,6 +131,16 @@ export default class ContactApi extends BaseApi {
|
|
|
127
131
|
return contacts;
|
|
128
132
|
});
|
|
129
133
|
}
|
|
134
|
+
bulkDeleteContacts(data) {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
+
const batchProcess = yield this.apiCall({
|
|
137
|
+
method: 'DELETE',
|
|
138
|
+
route: `${this.apiBasePath}/bulk`,
|
|
139
|
+
data,
|
|
140
|
+
});
|
|
141
|
+
yield this.polling(batchProcess.id);
|
|
142
|
+
});
|
|
143
|
+
}
|
|
130
144
|
createContactsInSingleBatch(data) {
|
|
131
145
|
return __awaiter(this, void 0, void 0, function* () {
|
|
132
146
|
const batchProcess = yield this.apiCall({
|
|
@@ -134,17 +148,7 @@ export default class ContactApi extends BaseApi {
|
|
|
134
148
|
route: `${this.apiBasePath}/bulk`,
|
|
135
149
|
data,
|
|
136
150
|
});
|
|
137
|
-
const
|
|
138
|
-
const batchProcessState = yield this.batchProcessApi.getBatchProcess(batchId).catch((e) => {
|
|
139
|
-
repeats = repeats || 0;
|
|
140
|
-
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
141
|
-
return polling(batchId, repeats + 1);
|
|
142
|
-
}
|
|
143
|
-
throw new Error(e);
|
|
144
|
-
});
|
|
145
|
-
return batchProcessState.status === 'pending' ? polling(batchId) : batchProcessState;
|
|
146
|
-
});
|
|
147
|
-
const batchProcessResult = yield polling(batchProcess.id);
|
|
151
|
+
const batchProcessResult = yield this.polling(batchProcess.id);
|
|
148
152
|
const contactIds = batchProcessResult.results.flatMap(i => JSON.parse(i));
|
|
149
153
|
const importedContacts = yield this.getSafelyContactsList(contactIds, data.contact_book);
|
|
150
154
|
return importedContacts.items;
|
|
@@ -163,5 +167,17 @@ export default class ContactApi extends BaseApi {
|
|
|
163
167
|
return results;
|
|
164
168
|
});
|
|
165
169
|
}
|
|
170
|
+
polling(batchId, repeats) {
|
|
171
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
172
|
+
const batchProcessState = yield this.batchProcessApi.getBatchProcess(batchId).catch((e) => {
|
|
173
|
+
repeats = repeats || 0;
|
|
174
|
+
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
175
|
+
return this.polling(batchId, repeats + 1);
|
|
176
|
+
}
|
|
177
|
+
throw new Error(e);
|
|
178
|
+
});
|
|
179
|
+
return batchProcessState.status === 'pending' ? this.polling(batchId) : batchProcessState;
|
|
180
|
+
});
|
|
181
|
+
}
|
|
166
182
|
}
|
|
167
183
|
//# sourceMappingURL=contactApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"contactApi.js","sourceRoot":"","sources":["../../../src/api/contactApi.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC"}
|
|
@@ -12,7 +12,7 @@ export default class ContactApi extends BaseApi {
|
|
|
12
12
|
listContact(params: ContactSearchParams): Promise<List<ContactResponseDto>>;
|
|
13
13
|
updateContact(id: string, data: UpdateContactDto): Promise<ContactResponseDto>;
|
|
14
14
|
deleteContact(id: string, data: DeleteContactParamsDto): Promise<void>;
|
|
15
|
-
deleteMulti(data: DeleteContactMultiParamsDto): Promise<void>;
|
|
15
|
+
deleteMulti(data: DeleteContactMultiParamsDto, total?: number): Promise<void>;
|
|
16
16
|
createContact(data: CreateContactDto): Promise<ContactResponseDto>;
|
|
17
17
|
bulkCreateContacts(data: CreateMultipleContactsDto): Promise<ContactResponseDto[]>;
|
|
18
18
|
mergeContacts(id: string, data: MergeContactParamsDto): Promise<ContactResponseDto>;
|
|
@@ -21,7 +21,9 @@ export default class ContactApi extends BaseApi {
|
|
|
21
21
|
unlinkContact(id: string, data: UnlinkContactParamsDto): Promise<void>;
|
|
22
22
|
unlinkContactsMulti(data: UnlinkContactMultiParamsDto): Promise<void>;
|
|
23
23
|
private getSafelyContactsList;
|
|
24
|
+
private bulkDeleteContacts;
|
|
24
25
|
private createContactsInSingleBatch;
|
|
25
26
|
private createContactsInMultiBatches;
|
|
27
|
+
private polling;
|
|
26
28
|
}
|
|
27
29
|
//# sourceMappingURL=contactApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;IActE,WAAW,CAAC,IAAI,EAAE,2BAA2B,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7E,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD,eAAO,MAAM,yBAAyB,SAAS,CAAC;AAEhD,eAAO,MAAM,sBAAsB,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD,eAAO,MAAM,yBAAyB,SAAS,CAAC;AAEhD,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,0BAA0B,KAAK,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.0.14-beta.
|
|
2
|
+
"version": "3.0.14-beta.1557.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": "
|
|
27
|
+
"@onereach/types-contacts-api": "3.0.5",
|
|
28
28
|
"@or-sdk/base": "^0.28.3"
|
|
29
29
|
}
|
|
30
30
|
}
|
package/src/api/contactApi.ts
CHANGED
|
@@ -19,7 +19,7 @@ import { BaseApi } from './baseApi';
|
|
|
19
19
|
import BatchProcessApi from './batchProcessApi';
|
|
20
20
|
import { ContactSearchParams } from '../types';
|
|
21
21
|
import { adaptListParams, getObjectSizeInBytes, chunkArrByMaxSize } from '../utils';
|
|
22
|
-
import { REQUEST_PAYLOAD_MAX_BYTES, FAILED_REQUEST_REPEATS } from '../constants';
|
|
22
|
+
import { REQUEST_PAYLOAD_MAX_BYTES, FAILED_REQUEST_REPEATS, CONTACTS_DELETE_MAX_AMOUNT } from '../constants';
|
|
23
23
|
|
|
24
24
|
export default class ContactApi extends BaseApi {
|
|
25
25
|
constructor(
|
|
@@ -88,8 +88,15 @@ export default class ContactApi extends BaseApi {
|
|
|
88
88
|
/**
|
|
89
89
|
* @description Delete Contact
|
|
90
90
|
* @param data
|
|
91
|
+
* @param total in case if the data.all = true function needs to know total amount of contacts
|
|
91
92
|
*/
|
|
92
|
-
deleteMulti(data: DeleteContactMultiParamsDto): Promise<void> {
|
|
93
|
+
deleteMulti(data: DeleteContactMultiParamsDto, total?: number): Promise<void> {
|
|
94
|
+
if (
|
|
95
|
+
(Array.isArray(data.ids) && data.ids.length > CONTACTS_DELETE_MAX_AMOUNT)
|
|
96
|
+
|| (total && total > CONTACTS_DELETE_MAX_AMOUNT)
|
|
97
|
+
) {
|
|
98
|
+
return this.bulkDeleteContacts(data);
|
|
99
|
+
}
|
|
93
100
|
return this.apiCall({
|
|
94
101
|
method: 'DELETE',
|
|
95
102
|
route: `${this.apiBasePath}`,
|
|
@@ -204,28 +211,22 @@ export default class ContactApi extends BaseApi {
|
|
|
204
211
|
return contacts;
|
|
205
212
|
}
|
|
206
213
|
|
|
214
|
+
private async bulkDeleteContacts(data: DeleteContactMultiParamsDto): Promise<void> {
|
|
215
|
+
const batchProcess = await this.apiCall<BatchProcessResponseDto>({
|
|
216
|
+
method: 'DELETE',
|
|
217
|
+
route: `${this.apiBasePath}/bulk`,
|
|
218
|
+
data,
|
|
219
|
+
});
|
|
220
|
+
await this.polling(batchProcess.id);
|
|
221
|
+
}
|
|
222
|
+
|
|
207
223
|
private async createContactsInSingleBatch(data: CreateMultipleContactsDto): Promise<ContactResponseDto[]> {
|
|
208
224
|
const batchProcess = await this.apiCall<BatchProcessResponseDto>({
|
|
209
225
|
method: 'POST',
|
|
210
226
|
route: `${this.apiBasePath}/bulk`,
|
|
211
227
|
data,
|
|
212
228
|
});
|
|
213
|
-
|
|
214
|
-
// make a new request if the previous one is complete
|
|
215
|
-
const polling = async (batchId: string, repeats?: number): Promise<BatchProcessResponseDto> => {
|
|
216
|
-
const batchProcessState = await this.batchProcessApi.getBatchProcess(batchId).catch((e) => {
|
|
217
|
-
repeats = repeats || 0;
|
|
218
|
-
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
219
|
-
return polling(batchId, repeats + 1);
|
|
220
|
-
}
|
|
221
|
-
throw new Error(e);
|
|
222
|
-
});
|
|
223
|
-
// value 'pending' is used because of https://onereach.atlassian.net/browse/CU-562
|
|
224
|
-
return batchProcessState.status === 'pending' ? polling(batchId) : batchProcessState;
|
|
225
|
-
};
|
|
226
|
-
|
|
227
|
-
const batchProcessResult = await polling(batchProcess.id);
|
|
228
|
-
|
|
229
|
+
const batchProcessResult = await this.polling(batchProcess.id);
|
|
229
230
|
const contactIds = batchProcessResult.results.flatMap<string>(i => JSON.parse(i));
|
|
230
231
|
const importedContacts = await this.getSafelyContactsList(contactIds, data.contact_book);
|
|
231
232
|
return importedContacts.items;
|
|
@@ -247,4 +248,19 @@ export default class ContactApi extends BaseApi {
|
|
|
247
248
|
}
|
|
248
249
|
return results;
|
|
249
250
|
}
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Pols specific batch process until status of it isn't turned from 'pending to something else.
|
|
254
|
+
*/
|
|
255
|
+
private async polling(batchId: string, repeats?: number): Promise<BatchProcessResponseDto> {
|
|
256
|
+
const batchProcessState = await this.batchProcessApi.getBatchProcess(batchId).catch((e) => {
|
|
257
|
+
repeats = repeats || 0;
|
|
258
|
+
if (repeats < FAILED_REQUEST_REPEATS) {
|
|
259
|
+
return this.polling(batchId, repeats + 1);
|
|
260
|
+
}
|
|
261
|
+
throw new Error(e);
|
|
262
|
+
});
|
|
263
|
+
// value 'pending' is used because of https://onereach.atlassian.net/browse/CU-562
|
|
264
|
+
return batchProcessState.status === 'pending' ? this.polling(batchId) : batchProcessState;
|
|
265
|
+
}
|
|
250
266
|
}
|